国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 大冶市| 宜城市| 什邡市| 罗源县| 绥德县| 鹤山市| 宝应县| 叶城县| 沙坪坝区| 全椒县| 勐海县| 桦甸市| 江永县| 牟定县| 楚雄市| 凌云县| 自贡市| 清涧县| 永平县| 潮安县| 荆门市| 灯塔市| 桦甸市| 阳城县| 左云县| 罗定市| 积石山| 泸溪县| 平乡县| 南投市| 桓台县| 青浦区| 全州县| 曲麻莱县| 陇川县| 黑水县| 康定县| 闵行区| 容城县| 承德县| 来凤县|