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

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

apply與call應(yīng)用場景

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

正在回答

3 回答

如果單純只是在一個(gè)函數(shù)中調(diào)用另一個(gè)函數(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里調(diào)用getName,并將this從window改變?yōu)閛bj
????}
};

console.log(obj.showName());????//"李四"


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

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

0 回復(fù) 有任何疑惑可以回復(fù)我~

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

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

llo蛋蛋oll 提問者

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

小白沖沖沖 回復(fù) llo蛋蛋oll 提問者

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

舉報(bào)

0/150
提交
取消
JavaScript深入淺出
  • 參與學(xué)習(xí)       281087    人
  • 解答問題       1054    個(gè)

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

進(jìn)入課程

apply與call應(yīng)用場景

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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