国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Function.prototype.apply()與Function.prototype.call()小結(jié)

2019-11-20 10:12:14
字體:
供稿:網(wǎng)友

老是忘掉這兩個東東的用下,寫下來做個記錄吧。
他們作用是一模一樣的,只是傳入的參數(shù)不一樣

apply

apply接受兩個參數(shù),第一個制定了函數(shù)體內(nèi)this對象的指向,第二個參數(shù)為一個帶下標(biāo)的集合(可遍歷對象),apply方法把這個集合中的元素作為參數(shù)傳遞給被調(diào)用的函數(shù):

var func = function(a, c, c){  alert([a,b,c]); //[1,2,3]}func.apply(null, [1,2,3]);

call

call傳入的參數(shù)不固定,和apply相同的是,第一個參數(shù)也是代表函數(shù)體內(nèi)的this指向,第二個參數(shù)開始往后,每個參數(shù)被依次傳入函數(shù):

var func = function(a, b, c){  alert([a,b,c]); //[1,2,3]}func.call(null, 1,2,3);

call是aplly的一顆語法糖。如果第一個參數(shù)為null,函數(shù)體內(nèi)的this指向宿主對象,在瀏覽器中是window。

call和apply的用途

1.改變this指向

上面的例子就是啦

2.Function.prototype.bind

模擬Function.prototype.bind

Function.prototype.bind = function(context){  var self = this;  return function(){    return self.apply(context, arguments);  }};var obj = {  name: 'cxs'};var func = function(){  alert(this.name); //cxs}.bind(obj);fun();

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 会理县| 同江市| 博乐市| 韶山市| 财经| 镇坪县| 武宣县| 启东市| 紫金县| 绍兴市| 南溪县| 宜良县| 宜兰县| 田林县| 长垣县| 正安县| 宝清县| 樟树市| 凤城市| 长治市| 青岛市| 叙永县| 浦城县| 湛江市| 竹山县| 高平市| 滨州市| 乌拉特中旗| 醴陵市| 张家界市| 沧源| 霍山县| 孙吴县| 项城市| 句容市| 南靖县| 鲜城| 临邑县| 宜宾市| 合作市| 五大连池市|