最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2016年04月27日 08:45:29   作者:Lapsec  
JavaScript 中,某個(gè)函數(shù)的參數(shù)數(shù)量是不固定的,因此要說適用條件的話,當(dāng)你的參數(shù)是明確知道數(shù)量時(shí),用 call,而不確定的時(shí)候,用 apply,然后把參數(shù) push 進(jìn)數(shù)組傳遞進(jìn)去。當(dāng)參數(shù)數(shù)量不確定時(shí),函數(shù)內(nèi)部也可以通過 arguments 這個(gè)數(shù)組來便利所有的參數(shù)

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

apply

apply接受兩個(gè)參數(shù),第一個(gè)制定了函數(shù)體內(nèi)this對(duì)象的指向,第二個(gè)參數(shù)為一個(gè)帶下標(biāo)的集合(可遍歷對(duì)象),apply方法把這個(gè)集合中的元素作為參數(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相同的是,第一個(gè)參數(shù)也是代表函數(shù)體內(nèi)的this指向,第二個(gè)參數(shù)開始往后,每個(gè)參數(shù)被依次傳入函數(shù):

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

call是aplly的一顆語法糖。如果第一個(gè)參數(shù)為null,函數(shù)體內(nèi)的this指向宿主對(duì)象,在瀏覽器中是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();

相關(guān)文章

最新評(píng)論

株洲县| 保山市| 余姚市| 武强县| 虞城县| 吉安市| 南平市| 连城县| 晋州市| 永胜县| 和静县| 德江县| 江都市| 开阳县| 临邑县| 彰化市| 沂南县| 马公市| 南乐县| 和顺县| 淳化县| 武邑县| 肥东县| 广昌县| 乌苏市| 高密市| 固安县| 垣曲县| 响水县| 潼南县| 武宣县| 十堰市| 保山市| 吴堡县| 克拉玛依市| 井研县| 中宁县| 德安县| 永康市| 体育| 凉山|