<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
        主站蜘蛛池模板: 国内精品乱码卡1卡2卡3免费 | 久草福利资源网站免费| 亚洲欧洲一区二区| 性xxxx视频播放免费| eeuss免费影院| 亚洲国产av一区二区三区丶| 国产又黄又爽又刺激的免费网址 | 四虎永久在线精品免费观看地址| 中国黄色免费网站| 亚洲乱码一区av春药高潮| 亚洲第一区精品日韩在线播放| 亚洲免费视频网站| 立即播放免费毛片一级| 亚洲春色在线观看| 国产精品亚洲美女久久久| 69天堂人成无码麻豆免费视频| 日本一区二区三区免费高清在线| 亚洲午夜电影一区二区三区| 亚洲最大av无码网址| 免费看的一级毛片| 最近2022中文字幕免费视频| 四虎一区二区成人免费影院网址| 亚洲成人高清在线观看| 亚洲综合av永久无码精品一区二区| 国产卡二卡三卡四卡免费网址| a级毛片免费完整视频| 相泽南亚洲一区二区在线播放| 亚洲精品国产肉丝袜久久| 久久精品国产精品亚洲下载| 在线免费观看中文字幕| 67194国产精品免费观看| 国产精品免费一区二区三区| 亚洲Av永久无码精品一区二区| 亚洲美免无码中文字幕在线| 亚洲精品成人片在线播放| 日本不卡在线观看免费v| 国产1000部成人免费视频| 人人揉揉香蕉大免费不卡| 国产精品免费在线播放| 在线播放国产不卡免费视频| 色窝窝亚洲AV网在线观看|