<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題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中apply與call簡單用法詳解

        來源:懂視網 責編:小采 時間:2020-11-27 22:26:13
        文檔

        js中apply與call簡單用法詳解

        js中apply與call簡單用法詳解:你可以直接看例子,也可以先讀一下介紹: call和apply是為了動態改變this而出現的,當一個object沒有某個方法,但是其他的有,我們可以借助call或apply用其它對象的方法來操作。 call, apply都屬于Function.prototype的一個方法,它是JavaSc
        推薦度:
        導讀js中apply與call簡單用法詳解:你可以直接看例子,也可以先讀一下介紹: call和apply是為了動態改變this而出現的,當一個object沒有某個方法,但是其他的有,我們可以借助call或apply用其它對象的方法來操作。 call, apply都屬于Function.prototype的一個方法,它是JavaSc

        你可以直接看例子,也可以先讀一下介紹:

        call和apply是為了動態改變this而出現的,當一個object沒有某個方法,但是其他的有,我們可以借助call或apply用其它對象的方法來操作。

        call, apply都屬于Function.prototype的一個方法,它是JavaScript引擎內在實現的,因為屬于Function.prototype,所以每個Function對象實例,也就是每個方法都有call, apply屬性.既然作為方法的屬性,那它們的使用就當然是針對方法的了.這兩個方法是容易混淆的,因為它們的作用一樣,只是使用方式不同.
        從上面可以得出 call, apply 是給方法使用的,為了改變調用該方法的 this指針

        簡單例子:

        call

        function A() {
         this.getName = function (xx) {
         return xx;
         }
        }
        
        function B() {
        
        }
        
        var a = new A();
        console.log( a.getName('i am A') ); //i am A
        
        var b = new B() ;
        console.log( a.getName.call(b,'i am B') ); // i am B
        
        

        B 函數中沒有 任何方法 , A 函數有個 getName() 方法 ,a.getName() 自然成立 ,但 B 也要使用 getName() 的方法怎么辦呢 ? 那就用 call(this,'參數') !!

        可以 再理解一下這句話 -- 我們可以借助call或apply調用其它對象的方法來操作,call和apply是為了動態改變this而出現的 ,本來 a.getName() 的 this 指向 a, call 動態的 把 this 指向了 b ,變成了 b.getName()

        apply

        apply 與 call 只是參數的使用不同而已

        function A() {
         this.sun = function (a ,b) {
         return a+b;
         }
        }
        
        function B() {
        
        }
        
        var a = new A();
        console.log( a.sun(1,2) ); //3
        
        var b = new B() ;
        console.log( a.sun.call(b,2,2) ); // 4
        
        console.log( a.sun.apply(b,[3, 3]) ); //6
        
        

        call和apply一般使用情況

        用的比較多的,通過document.getElementsByTagName選擇的dom 節點是一種類似array的array。它不能應用Array下的push,pop等方法。我們可以通過:

        var domNodes = Array.prototype.slice.call(document.getElementsByTagName("*"));

        這樣domNodes就可以應用Array下的所有方法了。

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

        文檔

        js中apply與call簡單用法詳解

        js中apply與call簡單用法詳解:你可以直接看例子,也可以先讀一下介紹: call和apply是為了動態改變this而出現的,當一個object沒有某個方法,但是其他的有,我們可以借助call或apply用其它對象的方法來操作。 call, apply都屬于Function.prototype的一個方法,它是JavaSc
        推薦度:
        標簽: 用法 call js
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲码和欧洲码一码二码三码| 亚洲中文字幕无码一区| 一区二区三区亚洲| 久久青青草原国产精品免费| 亚洲а∨精品天堂在线| 成人免费a级毛片| 亚洲综合小说另类图片动图 | 97无码免费人妻超级碰碰夜夜| 亚洲综合小说久久另类区| 日韩在线播放全免费| 亚洲综合久久一本伊伊区| 99久久免费国产精品特黄| 亚洲人AV在线无码影院观看| 国产福利免费在线观看| 免费夜色污私人影院网站电影| 亚洲精品网站在线观看不卡无广告| 一级毛片免费全部播放| 亚洲国产精品一区二区第一页| 日本免费在线中文字幕| 亚洲另类春色国产精品| 日美韩电影免费看| 精品福利一区二区三区免费视频| 亚洲精品美女在线观看播放| 免费在线观看黄色毛片| 久久久久亚洲AV无码永不| 亚洲成人免费网站| 亚洲熟女综合一区二区三区| 免费中文字幕在线观看| 国产在线观看无码免费视频| 夜夜亚洲天天久久| 免费日韩在线视频| 最近免费mv在线观看动漫| 亚洲国产夜色在线观看| 又粗又大又长又爽免费视频| 最近免费中文字幕中文高清| 亚洲一区二区三区高清视频| 色婷婷综合缴情综免费观看| 亚洲av永久无码精品漫画 | 久久99国产乱子伦精品免费| 亚洲国产乱码最新视频| 国产偷国产偷亚洲清高动态图|