日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

apply,call,bind区别

發布時間:2025/3/20 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 apply,call,bind区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

js中有三個改變this指針的方法,分別是 apply,call,bind。很多人只知道能改變的this,但是具體的適用場景不是太清楚。我也是遇到坑后不斷的實踐發現了區別。

call ,apply方法:

1 function Product(name, price) { 2 this.name = name; 3 this.price = price; 4 } 5 6 function Food(name, price) { 7 Product.call(this, name, price);
  
8 this.category = 'food'; 9 } 10 11 console.log(new Food('cheese', 5).name); 12 // expected output: "cheese"

在Food類中,因為使用了call改變類Product的類的this執向。所以這個時候在Product 中this定義的兩個私有屬性卻成了Food類new出來對象的。這種方式實現了類似繼承的概念,這種方式叫做call繼承。

其中call第一個參數表示的是修改的類的this指向值,后面兩個name,price都是做為參數傳遞到Product中。最后在執行這條語句的時候,會執行一下Product這個類(函數)。也就是call就會執行一下 ‘’.‘’ 符號之前的類或者函數。

apply相對call來說也是執行了一下函數或者類,只是參數傳遞進行了組裝。如果要進行apply修改,第7句話就可以表達為 Prpduct.apply(this,[name,price]); 可以把要傳遞的參數進行數組化。

bind:

bind是es6中新推出的修改this的方法。但是他和傳統的call,apply區別就是函數或者類的this修改后沒有執行,而是在程序代碼檢測時已經對代碼的this指向進行了修改。那么有什么用呢?

比如我這個時候需要用DOM2級別的事件綁定 :

document.addEventListener('click',fn); fn(){ this.name='yangkun' } //這里我們給document元素對象添加了一個點擊事件方法fn; var obj={name:'zhansan'}; fn.call(obj); 我們需要的是修改fn中的this,指向是obj中的name.是如果這樣做,會有一個問題就是,函數fn已經被執行了!實際上我們綁定的click事件對應的是一個函數返回值(這里沒有返回值,實際上點擊事件綁定了null),而不是我們希望綁定的方法!

這個時候如果我們使用fn.bind(obj)就沒問題了。方法沒有執行。

?

后記:JavaScript早期版本沒有類,但是大家發現通過new可以實現類似后臺語言的語法方式。自然把進行new 的函數說成類。? js 函數有三態,普通函數,類,對象。這個是ES6之前函數的三態。

轉載于:https://www.cnblogs.com/yangkun90/p/10464572.html

總結

以上是生活随笔為你收集整理的apply,call,bind区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一级黄av | 亚洲一区二区三区免费视频 | 99久久精品无免国产免费 | 欧美 日韩 国产 一区二区三区 | 成人免费黄色小视频 | 毛片免费全部无码播放 | 国产午夜不卡 | 欧美激情不卡 | 91精品福利视频 | 99久久久久久久久久 | 欧美 亚洲 另类 偷偷 自拍 | 亚洲熟女乱综合一区二区 | 黑人精品欧美一区二区蜜桃 | 久久国产一二三 | 国产极品美女高潮无套在线观看 | jizz性欧美2| 欧美日韩国产专区 | 伊人色在线 | 一级肉体全黄裸片中国 | 无码人妻精品一区二区三区夜夜嗨 | 天天天天天天天天干 | 天天碰天天摸 | 视频区小说区 | 午夜亚洲av永久无码精品 | 婷婷五月综合缴情在线视频 | 韩国美女视频在线观看18 | 亚洲va久久久噜噜噜无码久久 | 女人17片毛片60分钟 | 色乱码一区二区三区熟女 | 国产黄色在线 | 69中国xxxxxxxxx96| 91看视频 | 永久免费看成人av的动态图 | 日韩成人精品视频 | 肉肉h| 中文字幕国产亚洲 | 综合色久 | 欧美一二三区在线观看 | 国产丝袜视频在线观看 | 一级片在线观看免费 | av大全免费| 人人干在线 | 青青草原在线免费 | 91女神在线 | 青春草网站 | 97免费在线视频 | 8x8ⅹ国产精品一区二区二区 | 丁香婷婷久久久综合精品国产 | 午夜三级影院 | 一本之道高清无码视频 | 丝瓜色版 | 亚洲综合久久婷婷 | 成人自拍一区 | 久久视频一区二区 | 欧美性生活精品 | 丁香婷婷亚洲 | 国产精品无码成人片 | 欧美一级一区二区 | 色资源网站 | 中文在线a√在线8 | 中文人妻熟女乱又乱精品 | 久久精品导航 | 97色网| 天堂中文av| 免费的理伦片在线播放 | 国产人妻精品久久久久野外 | 天天干天天操天天摸 | 伊人成人在线观看 | jizz中国女人| 亚洲少妇一区二区三区 | 久草97| 国产伦精品一区二区三区视频黑人 | 免费在线a | 亚洲一区二区三区四区五区午夜 | 久久青青草原亚洲av无码麻豆 | 久久久久久久久久网站 | 一区二区中文在线 | 日韩成人不卡 | 五月天中文字幕在线 | 色婷婷av在线 | 在线免费观看一区 | 久久国产精品波多野结衣av | 就去吻综合 | 午夜资源 | 亚洲一区二区精品 | 伊人情人综合 | 最新中文字幕第一页 | av在线天堂 | 国产精品一线二线三线 | 男女ss视频 | 亚洲国产色图 | 韩国性猛交╳xxx乱大交 | 黄色一级片免费看 | 日韩一区免费视频 | 色欲av无码精品一区 | www免费黄色| 夜夜春视频 | 欧洲精品二区 | 日韩欧美精品 |