課程
/前端開發(fā)
/JavaScript
/JavaScript深入淺出
還是沒搞懂什么時候需要用到apply與call方法
2016-07-11
源自:JavaScript深入淺出 6-3
正在回答
如果單純只是在一個函數(shù)中調用另一個函數(shù)是沒什么多大區(qū)別,apply?/?call?的最大作用就是改變上下文 比如說: var?name?=?"張三"; //在全局里定義函數(shù)func1 function?getName(){ ????return?this.name; } //在對象里定義函數(shù)func2 var?obj?=?{ ????name:"李四", ????showName:function(){ ????????return?getName.apply(this);????//在showName里調用getName,并將this從window改變?yōu)閛bj ????} }; console.log(obj.showName());????//"李四"
函數(shù)的調用需要用到對象。而上面說到的兩個都是函數(shù);
其實你可以簡單地理解為這兩個方法就是為了改變函數(shù)的作用域。
假設有函數(shù)fun1,在另一個函數(shù)fun2中想實現(xiàn)fun1的效果,就可以用fun2(data){return fun1.apply(fun2,arguments)}
llo蛋蛋oll 提問者
小白沖沖沖 回復 llo蛋蛋oll 提問者
舉報
由淺入深學習JS語言特性,且解析JS常見誤區(qū),從入門到掌握
1 回答call和apply
3 回答JS中OOP的應用場景?
1 回答屬性標簽的應用場景
4 回答call和apply的區(qū)別?
1 回答bind,call,apply,的作用有區(qū)別嗎?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2016-09-08
2016-08-08
函數(shù)的調用需要用到對象。而上面說到的兩個都是函數(shù);
其實你可以簡單地理解為這兩個方法就是為了改變函數(shù)的作用域。
2016-07-12
假設有函數(shù)fun1,在另一個函數(shù)fun2中想實現(xiàn)fun1的效果,就可以用fun2(data){return fun1.apply(fun2,arguments)}