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

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

js筆記三十九之call,apply和bind的區(qū)別

標(biāo)簽:
JavaScript

call

var obj = {name:"lilei"};function fn(num1,num2){    console.log(num1+num2);    console.log(this);
}
fn(100,200); // -> 300 window -> num1=100,num2=200  this - windowfn.call(100,200); // -> NaN Number {100} -> num1=200,num2=undefined  this - 100fn.call(obj,100,200); // -> NaN Number {100} -> num1=100,num2=200  this - obj// fn.call传的值,第一个参数是给fn的this关键字的,后面的参数是给fn传的参数fn.call(); // -> this - windowfn.call(null); // -> this - windowfn.call(undefined); // -> this - window
// 严格模式"use strict"; // -> 告诉当前浏览器接下来的js代码将按照严格模式进行编写var obj = {name:"lilei"};function fn(num1,num2){    console.log(num1+num2);    console.log(this);
};

fn.call(); // -> this - undefinedfn.call(null); // -> this - nullfn.call(undefined); // -> this - undefined

apply

apply和call的方法的作用是一模一样的,都是用来改变方法的this关键字并且把方法执行;
而且在严格模式下和非严格模式下对于第一个参数是null和undefined这种情况的规律也是一样的;

var obj = {name:"lilei"};function fn(num1,num2){    console.log(num1+num2);    console.log(this);
};// fn.call(obj,100,200);fn.apply(obj,[100,200]);

call在给fn传递参数的时候,是一个个的传递值的,而apply不是一个个传
而是把要给fn传递的参数值统一的放在一个数组中进行操作
但是也相当于一个个的给fn的形参赋值

bind

ie6~8不兼容
和call/apply类似都是用来改变this关键字的

var obj = {name:"lilei"};function fn(num1,num2){    console.log(num1+num2);    console.log(this);
};// fn.call(obj,100,200);fn.bind(obj,100,200);

call: 改变this和执行fn函数是一起完成了
bind: 只是改变了fn中的this为obj,并且给fn传递两个参数值1,2;但是此时并没有把fn这个函数执行;
执行bind会有一个返回值,这个返回值tempFn就是我们把fn的this改变后的那个结果

var obj = {name:"lilei"};function fn(num1,num2){    console.log(num1+num2);    console.log(this);
};var tempFn = fn.bind(obj,100,200); 
tempFn();
  • bind中的预处理思想:
    预处理: 事先把fn的this改变为我们想要的结果,并且把对应的参数值也准备好,以后要用到了,直接执行即可



作者:uplyw
链接:https://www.jianshu.com/p/dba0cd51dd9e

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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

舉報(bào)

0/150
提交
取消