第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

apply與call應用場景

還是沒搞懂什么時候需要用到apply與call方法

正在回答

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());????//"李四"


2 回復 有任何疑惑可以回復我~
  1. 函數(shù)的調用需要用到對象。而上面說到的兩個都是函數(shù);

  2. 其實你可以簡單地理解為這兩個方法就是為了改變函數(shù)的作用域。

0 回復 有任何疑惑可以回復我~

假設有函數(shù)fun1,在另一個函數(shù)fun2中想實現(xiàn)fun1的效果,就可以用fun2(data){return fun1.apply(fun2,arguments)}

0 回復 有任何疑惑可以回復我~
#1

llo蛋蛋oll 提問者

那這樣跟直接調用有什么區(qū)別呢?
2016-07-25 回復 有任何疑惑可以回復我~
#2

小白沖沖沖 回復 llo蛋蛋oll 提問者

這樣看沒什么區(qū)別,但有時需要綁定特殊的參數(shù)就有用處了
2016-09-08 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript深入淺出
  • 參與學習       281098    人
  • 解答問題       1048    個

由淺入深學習JS語言特性,且解析JS常見誤區(qū),從入門到掌握

進入課程

apply與call應用場景

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號