国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JavaScript this 指針歸納(apply、call、bind)

Pink / 2181人閱讀

摘要:概述一個(gè)函數(shù)中的指向是由調(diào)用這個(gè)函數(shù)的環(huán)境來決定的。實(shí)例參數(shù)參數(shù)和一樣,不同的是和在調(diào)用函數(shù)之后會(huì)立即執(zhí)行,而方法調(diào)用并改變函數(shù)運(yùn)行時(shí)上下文后,返回一個(gè)新的函數(shù),供我們需要時(shí)再調(diào)用。

概述
一個(gè)函數(shù)中this的指向是由調(diào)用這個(gè)函數(shù)的環(huán)境來決定的。

全局

var a = 1;
function b(){
    var a = 2;
    console.log(this.a);
};
b(); //1


var value = 3;
function b(){
    console.log(this.value);
};
b();//3
此時(shí)的b函數(shù)的環(huán)境是全局的

局部

   var a = 1;
   var c = {a:3};
   c.b = function(){
   var a = 2;
   console.log(this.a);
   };
   c.b();//3
   
  //立即執(zhí)行函數(shù) 由于是賦值,所以只執(zhí)行了右邊的函數(shù)
  var a = 1;
  var c = {a:3};
  (c.b = function(){
  var a = 2;
  console.log(this.a);
  })();//1

apply、call 和 bind 改變this指向

apply

參數(shù)

只能傳兩個(gè)參數(shù),第一個(gè)參數(shù)a是改變this指向的結(jié)果對(duì)象(在非嚴(yán)格模式下,第一個(gè)參數(shù)為null或者undefined時(shí)會(huì)自動(dòng)替換為指向全局對(duì)象),第二個(gè)參數(shù)是傳給a的參數(shù)集合(arguments[數(shù)組或類數(shù)組])

實(shí)例

var a = 1;
var c = {a : 3};
function b(d,e){
    var a = 2;
    console.log(this.a);
    console.log(d,e);
};
b.apply(c);//3  undefined undefined
b.apply();//1  undefined undefined
b.apply(c,[5,6]);// 3  5 6

call

參數(shù)

第一個(gè)參數(shù)和apply()的第一個(gè)參數(shù)一樣,不同的是apply()后面是接收一個(gè)數(shù)組或類數(shù)組,call()后面是是接收的參數(shù)列表。

實(shí)例

var a = 1;
var c = {a : 3};
function b(d,e){
    var a = 2;
    console.log(this.a);
    console.log(d,e);
};
b.call(c);//3  undefined undefined
b.call();//1  undefined undefined
b.call(c,5,6);// 3  5 6

bind

參數(shù)

參數(shù)和call一樣,不同的是 call()和apply()在調(diào)用函數(shù)之后會(huì)立即執(zhí)行,而bind()方法調(diào)用并改變函數(shù)運(yùn)行時(shí)上下文后,返回一個(gè)新的函數(shù),供我們需要時(shí)再調(diào)用。

實(shí)例

var a = 1;
var c = {a : 3};
function b(d,e){
   var a = 2;
   console.log(this.a);
   console.log(d,e);
};
var b1 = b.bind(c);
var b2 =b.bind();
var b3 =b.bind(c,5,6);
b1();//3  undefined undefined
b2();//1  undefined undefined
b3()// 3  5 6

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/109526.html

相關(guān)文章

  • JavaScript函數(shù)(二)

    摘要:目錄函數(shù)的聲明函數(shù)的屬性和方法函數(shù)的作用域閉包知識(shí)點(diǎn)小結(jié)關(guān)于函數(shù),可以從以下個(gè)方面去理解首先,數(shù)據(jù)類型上看函數(shù)在中是一種數(shù)據(jù)類型,是對(duì)象的一種其次,從功能上看函數(shù)本質(zhì)上是一段反復(fù)調(diào)用的代碼塊最后,從地位上看函數(shù)在中和其他基本數(shù)據(jù)類型一樣,可 目錄 1.函數(shù)的聲明 2.函數(shù)的屬性和方法 3.函數(shù)的作用域 4.閉包知識(shí)點(diǎn) 5.小結(jié) 關(guān)于函數(shù),可以從以下3個(gè)方面去理解:首先,數(shù)據(jù)類型上看:...

    用戶84 評(píng)論0 收藏0
  • js函數(shù)this理解?手寫applycallbind就夠了

    摘要:一是什么函數(shù)的內(nèi)部屬性,引用的是函數(shù)據(jù)以執(zhí)行的環(huán)境對(duì)象。函數(shù)做為節(jié)點(diǎn)事件調(diào)用時(shí)指向節(jié)點(diǎn)本身做為構(gòu)造函數(shù)實(shí)力化方法時(shí)指向?qū)嵗龑?duì)象箭頭函數(shù)里的普通函數(shù),由于閉包函數(shù)是執(zhí)行的,所以指向箭頭函數(shù)的指向函數(shù)創(chuàng)建時(shí)的作用域。 一、this是什么? 函數(shù)的內(nèi)部屬性,this引用的是函數(shù)據(jù)以執(zhí)行的環(huán)境對(duì)象。也就是說函數(shù)的this會(huì)指向調(diào)用函數(shù)的執(zhí)行環(huán)境。 function a(){ retur...

    Cciradih 評(píng)論0 收藏0
  • JavaScript函數(shù)的callapplybind

    摘要:它們有明確的和成員函數(shù)的定義,只有的實(shí)例才能調(diào)用這個(gè)的成員函數(shù)。用和調(diào)用函數(shù)里用和來指定函數(shù)調(diào)用的,即指針的指向。同樣,對(duì)于一個(gè)后的函數(shù)使用或者,也無法改變它的執(zhí)行,原理和上面是一樣的。 函數(shù)里的this指針 要理解call,apply和bind,那得先知道JavaScript里的this指針。JavaScript里任何函數(shù)的執(zhí)行都有一個(gè)上下文(context),也就是JavaScri...

    alighters 評(píng)論0 收藏0
  • 關(guān)于this的知識(shí)歸納(通俗易懂版)

    摘要:于是決定寫個(gè)歸納。如果懂了,那么下面的例子也就會(huì)做了已知調(diào)用函數(shù)的對(duì)象是,所以指向,即。相當(dāng)于在全局作用域聲明了變量,并且賦值。實(shí)際上,調(diào)用函數(shù)的是關(guān)鍵字。使用來調(diào)用函數(shù),即函數(shù)的構(gòu)造調(diào)用時(shí),我們會(huì)構(gòu)造一個(gè)新對(duì)象,并把它綁定到調(diào)用中的上。 對(duì)this的理解,我一直都是用一句話概括:誰調(diào)用它,它就指向誰。 好像也沒有什么問題,但仔細(xì)看了這本書和網(wǎng)上一些文章后,發(fā)現(xiàn)this的原理還挺講究的...

    enda 評(píng)論0 收藏0
  • javascriptthis 關(guān)鍵字

    摘要:執(zhí)行完以后,將該匿名函數(shù)賦值給。上述代碼其實(shí)等價(jià)于執(zhí)行如下的代碼,函數(shù)回調(diào)場(chǎng)景基本原理可以看到,把一個(gè)定義有關(guān)鍵字的函數(shù)作為其它函數(shù)的回調(diào)函數(shù),是危險(xiǎn)的,因?yàn)樵谶\(yùn)行期會(huì)被重新賦值,上述例子很直觀的描述了這一點(diǎn),之所以報(bào)錯(cuò),是因?yàn)橹赶蛄恕? 前言 看過[阮一峰]()的關(guān)于 this 的教程,講了很多比較好的例子,但沒有對(duì)其本質(zhì)的東西解釋清楚,而且部分例證存在問題;于是,打算重寫本章節(jié),從t...

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

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

0條評(píng)論

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