日韩性视频-久久久蜜桃-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区别的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 色综合狠狠| www.av免费 | 欧美性猛交69 | 久久婷综合 | 爱蜜臀av | 久久亚洲av永久无码精品 | 亚洲精品一区二区三区四区乱码 | 综合精品久久久 | 亚洲网站在线 | 制服丝袜国产精品 | 亚洲精品少妇久久久久久 | 亚洲国产精品va在线 | av在线www| 黄色片子免费看 | 四虎国产成人精品免费一女五男 | 香蕉大久久 | 国产69熟 | 国内精久久久久久久久久人 | 中文字幕在线免费观看 | 国产精品另类 | 在线观看一区二区三区视频 | 国产亚洲精品久久久久久久久动漫 | a国产视频| 久久久资源网 | 色爽爽一区二区三区 | 日本中文字幕成人 | 亚洲图片欧美激情 | 四季av在线一区二区三区 | 河北彩花av在线播放 | 奇米狠狠| 熟妇人妻系列aⅴ无码专区友真希 | 久久久综合久久 | 一级美女黄色片 | 国产av一区精品 | 欧美性生活一区 | 日本xxxx人| 97爱爱爱| 久久99伊人 | 婷婷伊人五月 | 久热精品在线观看视频 | 男人天堂b | 婷婷精品视频 | 婷婷丁香色 | 久草综合视频 | 涩涩成人 | 亚洲不卡中文字幕 | 依人综合网 | 高清乱码免费网 | 激情婷婷综合 | 在线观看精品 | 伊人久久久久久久久久久久久 | 午夜网 | 狂野欧美性猛交blacked | 国产欧美一区二区三区精品酒店 | 国产免费激情视频 | 久久久人妻无码一区二区 | 中文字字幕在线中文乱码 | www欧美| 国语久久| 久久久久国产精品视频 | 婷婷亚洲综合五月天小说 | 日韩欧美精品一区二区 | 色四月| 丰满岳乱妇一区二区三区 | 97精品超碰一区二区三区 | 刘亦菲久久免费一区二区 | 少妇呻吟视频 | 男男受被啪到高潮自述 | 蜜桃免费av| 国产免费一区二区视频 | 日日操操| 国产精品久线在线观看 | 小伸进喷水网站 | 麻豆中文字幕 | 日韩视频免费观看高清完整版在线观看 | av资源网在线 | 日本护士╳╳╳hd少妇 | 日韩精品麻豆 | 国产a级片免费看 | 波多野av在线 | 日韩精品片| 打美女屁股网站 | 午夜视频一区 | 91九色蝌蚪 | 成年人性生活免费视频 | 丝袜脚交免费网站xx | 日韩精品一区二区亚洲av观看 | 国产盗摄一区二区 | 精品人妻一区二区三区蜜桃视频 | 亚洲成熟毛多妇女av毛片 | 女人18毛片一区二区三区 | 午夜网站在线观看 | 亚洲一区二区三区国产 | 综合在线亚洲 | 日韩一级中文字幕 | a视频在线免费观看 | 天天干网 | 亚洲无码精品国产 | 国产精品天天av精麻传媒 |