• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    js中call()和apply()改變指針問題的講解

    來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:02:03
    文檔

    js中call()和apply()改變指針問題的講解

    js中call()和apply()改變指針問題的講解:1. 每個函數(shù)都包含兩個非繼承而來的方法:call()方法和apply()方法。(天生的) 2. 相同點:這兩個方法的作用是一樣的。 都是在特定的作用域中調(diào)用函數(shù),等于設(shè)置函數(shù)體內(nèi)this對象的值,以擴充函數(shù)賴以運行的作用域。 一般來說,this總是指向調(diào)用某個方
    推薦度:
    導(dǎo)讀js中call()和apply()改變指針問題的講解:1. 每個函數(shù)都包含兩個非繼承而來的方法:call()方法和apply()方法。(天生的) 2. 相同點:這兩個方法的作用是一樣的。 都是在特定的作用域中調(diào)用函數(shù),等于設(shè)置函數(shù)體內(nèi)this對象的值,以擴充函數(shù)賴以運行的作用域。 一般來說,this總是指向調(diào)用某個方

    call有兩個妙用:

  •           1: 繼承。
  •           2: 修改函數(shù)運行時的this指針。
  • 區(qū)別:call和apply的區(qū)別在于call的第二個參數(shù)可以是任意類型,而apply的第二個參數(shù)必須是數(shù)組或者arguments

    <script>
     //一般來說,this總是指向調(diào)用某個方法的對象,但是使用call()和apply()方法時,就會改變this的指向。
     /*
     call方法:
     語法:call(thisObj,arg1,arg2,……,argN)
     定義:調(diào)用一個對象的一個方法,以另一個對象替換當前對象
     參數(shù)
     thisObj;可選項,將被用作當前對象的對象
     arg1,arg2,……,argN;可選項,將被傳遞方法參數(shù)序列
     說明
     call方法可以用來代替另一個對象調(diào)用一個方法。call方法可將一個函數(shù)的對象上下文從初始的上下文改變?yōu)橛衪hisObj指定的新對象。
     
     如果沒有提供thisObj參數(shù),那么Global對象被用作thisObj
     */
     /*
     apply方法:
     語法:apply(thisObj,[arg1,arg2,……,argN])
     定義:應(yīng)用某一個對象的一個方法,用另一個對象替換當前對象
     */
     //區(qū)別:call和apply的區(qū)別在于call的第二個參數(shù)可以是任意類型,而apply的第二個參數(shù)必須是數(shù)組或者arguments
     //1.
     function add(a,b) {
     console.log(a+b);
     }
     function sub(a,b) {
     console.log(a-b);
     }
     add.call(sub,3,1);//用add來替換sub,add.call(sub,3,1)==add(3,1),結(jié)果是console.log(4);
     //2.
     function Animal(){
     this.name="Animal";
     this.showName=function(){
     alert(this.name);
     }
     }
     function Cat(){
     this.name="Cat";
     }
     var animal=new Animal();
     var cat=new Cat();
     animal.showName.call(cat);
     // 通過call或者apply方法,將原本屬于Animal對象的showName()方法交給對象cat來使用。
    結(jié)果為alert("Cat"); //3. function Animal(name){ this.name=name; this.showName=function(){ alert(this.name); } } function Cat(name){ Animal.call(this,name); } var cat=new Cat("Black Cat"); cat.showName(); //Animal.call(this)的意思是使用Animal對象代替this對象,那么Cat中就有了Animal的所有方法和屬性了,Cat對象就能直接調(diào)用Animal的方法和屬性了。 //4. function Class10(){ this.showSub=function(a,b){ alert(a-b); } } function Class11(){ this.showAdd=function(a,b){ alert(a+b); } } function Class2(){ Class10.call(this); Class11.call(this); } //使用兩個call就實現(xiàn)多繼承了。 </script>

    總結(jié)

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    js中call()和apply()改變指針問題的講解

    js中call()和apply()改變指針問題的講解:1. 每個函數(shù)都包含兩個非繼承而來的方法:call()方法和apply()方法。(天生的) 2. 相同點:這兩個方法的作用是一樣的。 都是在特定的作用域中調(diào)用函數(shù),等于設(shè)置函數(shù)體內(nèi)this對象的值,以擴充函數(shù)賴以運行的作用域。 一般來說,this總是指向調(diào)用某個方
    推薦度:
    標簽: call js 指針
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产精品久久久福利| 国产精品综合久成人| 99久久精品无码一区二区毛片 | 国产人成精品综合欧美成人| 国产精品涩涩涩视频网站| 欧美日韩专区麻豆精品在线| 99热都是精品久久久久久| 99久久精品国产麻豆| 精品亚洲A∨无码一区二区三区| 亚洲第一区精品观看| 久久久精品视频免费观看| 亚洲国产精品成| 999精品在线| 国自产偷精品不卡在线| 午夜天堂精品久久久久| 亚洲精品国产自在久久| 麻豆精品视频在线观看| 国产一区二区三区精品视频| 亚洲精品人成在线观看| 国产精品久久久久9999高清| 97精品人妻系列无码人妻| 久久久久久国产精品无码超碰| 自拍偷在线精品自拍偷| 亚洲精品无码你懂的网站| 亚洲AV永久青草无码精品| 亚洲精品99久久久久中文字幕| 欧美精品人爱a欧美精品| 精品乱子伦一区二区三区高清免费播放| 在线欧美v日韩v国产精品v| 国产精品一久久香蕉国产线看 | 国产精品激情综合久久 | 国产精品乱码高清在线观看| 久久99国产综合精品| 无码精品久久久天天影视| 亚洲AV成人精品网站在线播放| 亚洲欧美国产∧v精品综合网| 亚洲午夜国产精品无码老牛影视 | 精品在线免费观看| 日本一区精品久久久久影院 | 98香蕉草草视频在线精品看| 国产成人精品综合在线观看|