成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

call、apply、bind總結(jié)

Ali_ / 2410人閱讀

摘要:只不過(guò)只是改變了方法中的關(guān)鍵字,并且把參數(shù)傳遞過(guò)去,但是并沒(méi)有把方法執(zhí)行,而是返回了我們改變關(guān)鍵字以后的結(jié)果。

"use strict";//告訴當(dāng)前瀏覽器接下來(lái)使用的是嚴(yán)格模式進(jìn)行編寫
var obj = {name: "珠峰培訓(xùn)"};
function fn(num1, num2){

console.log(num1+num2);
console.log(this);

}
fn(100, 200);////this ---> window num1=100 num2=200
fn.call(100, 200);//this --->100 num1=100 num2=undefined
fn.call(obj, 100, 200);//this --->obj num1=100 num2=200

fn.call();//this ---> window 在嚴(yán)格模式下this---> undefined
fn.call(null);//this ---> window 在嚴(yán)格模式下this---> null
fn.call(undefined);//this ---> window 在嚴(yán)格模式下this---> undefined
call和apply方法的作用是一模一樣的,都是用來(lái)改變方法的this關(guān)鍵字,并且把方法執(zhí)行,而且在嚴(yán)格模式下和非嚴(yán)格模式下,對(duì)于第一個(gè)參數(shù)是null/undefined這種情況的規(guī)律也是一樣的;只不過(guò)call在給方法傳遞參數(shù)的時(shí)候,是一個(gè)一個(gè)傳遞值的,而apply是吧給方法傳遞的參數(shù)統(tǒng)一放在一個(gè)數(shù)組中進(jìn)行操作。
var returnFn = fn.bind(obj,100,200);
bind:也是用來(lái)改變方法中this關(guān)鍵字的。只不過(guò)bind只是改變了方法中的this關(guān)鍵字,并且把參數(shù)傳遞過(guò)去,但是并沒(méi)有把方法執(zhí)行,而是返回了我們改變this關(guān)鍵字以后的結(jié)果。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/81267.html

相關(guān)文章

  • this總結(jié)【2】—— call/applybind

    摘要:和概覽我們要將歸為一類,單獨(dú)歸為一類三者的共同點(diǎn)是都可以指定和都是綁定在的原型上的,所以的實(shí)例都可以調(diào)用這三個(gè)方法至于為什么,看完這篇文章你就懂了如果你不懂什么是實(shí)例的話,請(qǐng)移步深入淺出面向?qū)ο蠛驮透拍钇钊霚\出面向?qū)ο蠛驮透拍钇谝粋€(gè) 1.call/apply和bind概覽 我們要將call/apply歸為一類,bind單獨(dú)歸為一類 三者的共同點(diǎn)是都可以指定this call/...

    wudengzan 評(píng)論0 收藏0
  • 根據(jù)一道題引發(fā)的callapply、bind方法總結(jié)

    摘要:首先介紹一下和的定義和的作用是改變函數(shù)運(yùn)行時(shí)的上下文環(huán)境改變的指向?qū)⒔壎ǖ交蛘哒f(shuō)調(diào)用了里面的方法。方法返回的是修改過(guò)后的函數(shù)追夢(mèng)子追夢(mèng)子執(zhí)行成功 這是一道今天遇到的面試題 showImg(https://segmentfault.com/img/bV8lco?w=330&h=222); 因?yàn)閟etTimeout屬于匿名函數(shù),this指向window,所以this.id = 1但還是先總...

    ormsf 評(píng)論0 收藏0
  • ES5 call,apply,bind方法總結(jié)(包括理解this的指向問(wèn)題)

    總結(jié)call,apply,bind方法的理解使用和區(qū)別。 call,apply,bind這三個(gè)方法在JavaScript中是用來(lái)改變函數(shù)調(diào)用的this指向。那么改變函數(shù)this指向有什么用呢?我們先來(lái)看一段代碼 var a= { name:harden, fn:function () { console.log(this.name); } } var b =...

    nanchen2251 評(píng)論0 收藏0
  • 理解JavaScript中的call,applybind方法

    摘要:輸出的作用與和一樣,都是可以改變函數(shù)運(yùn)行時(shí)上下文,區(qū)別是和在調(diào)用函數(shù)之后會(huì)立即執(zhí)行,而方法調(diào)用并改變函數(shù)運(yùn)行時(shí)上下文后,返回一個(gè)新的函數(shù),供我們需要時(shí)再調(diào)用。 前言 js中的call(), apply()和bind()是Function.prototype下的方法,都是用于改變函數(shù)運(yùn)行時(shí)上下文,最終的返回值是你調(diào)用的方法的返回值,若該方法沒(méi)有返回值,則返回undefined。這幾個(gè)方法...

    chaosx110 評(píng)論0 收藏0
  • 前端基礎(chǔ)知識(shí)總結(jié)

    摘要:關(guān)于前端中是個(gè)老生常談的問(wèn)題,總是說(shuō)不清道不明,看這里。的大致用法,相信接觸過(guò)前端的同學(xué)都知道,無(wú)非以下種。先想一下,兩次執(zhí)行后結(jié)果是什么。輸出總結(jié)被誰(shuí)調(diào)用指向誰(shuí),沒(méi)有被調(diào)用的情況下,瀏覽器默認(rèn)為。由于箭頭函數(shù)中的,總是指向父級(jí)作用域。 關(guān)于this 前端中this是個(gè)老生常談的問(wèn)題,總是說(shuō)不清道不明,看這里。this只能用在函數(shù)里面,相信全世界的人都知道。this就是函數(shù)在被執(zhí)行的時(shí)...

    MageekChiu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<