<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
        主站蜘蛛池模板: 亚洲精品在线电影| 亚洲四虎永久在线播放| 亚洲小说图区综合在线| 8x成人永久免费视频| 亚洲激情在线观看| 精品无码无人网站免费视频| 亚洲视频在线观看免费| 三年片在线观看免费大全电影 | 波多野结衣一区二区免费视频| 亚洲欧美成人av在线观看| 成人免费无遮挡无码黄漫视频| 亚洲日本va一区二区三区| 精品久久久久久久免费加勒比| 亚洲AV性色在线观看| 亚洲一级Av无码毛片久久精品| 一进一出60分钟免费视频| 伊人久久大香线蕉亚洲| a毛片全部免费播放| 97亚洲熟妇自偷自拍另类图片| 3344永久在线观看视频免费首页| 亚洲丰满熟女一区二区v| 女人被男人桶得好爽免费视频 | 在线成人a毛片免费播放| 美女视频黄频a免费大全视频| 国产日产亚洲系列最新| 午夜不卡久久精品无码免费| 亚洲国产精品张柏芝在线观看| 全免费a级毛片免费**视频| 五月天国产成人AV免费观看| 亚洲AV永久精品爱情岛论坛| 亚洲免费视频观看| 337P日本欧洲亚洲大胆精品| 亚洲真人无码永久在线| 蜜臀AV免费一区二区三区| 日本亚洲欧美色视频在线播放| 中文字幕亚洲日本岛国片| 国产在线观看麻豆91精品免费| 国产亚洲视频在线观看| 久久精品国产亚洲av成人| 永久免费看mv网站入口| 13小箩利洗澡无码视频网站免费|