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

資訊專欄INFORMATION COLUMN

this關(guān)鍵字

王軍 / 948人閱讀

摘要:是什么是一個(gè)特別的關(guān)鍵字可以用在構(gòu)造函數(shù)之中,表示實(shí)例對(duì)象總是返回一個(gè)對(duì)象簡(jiǎn)單說(shuō),就是屬性或方法當(dāng)前所在的對(duì)象姓名姓名表示屬性所在的那個(gè)對(duì)象。

this 是什么

this是一個(gè)特別的關(guān)鍵字 this可以用在構(gòu)造函數(shù)之中,表示實(shí)例對(duì)象 this總是返回一個(gè)對(duì)象
簡(jiǎn)單說(shuō),this就是屬性或方法“當(dāng)前”所在的對(duì)象

var person = {
  name: "Rookie",
  method: function () {
    return "姓名:"+ this.name;
  }
};

person.method()   //"姓名:Rookie"

this.name表示name屬性所在的那個(gè)對(duì)象。由于this.name是在method方法中調(diào)用,而method方法所在的當(dāng)前對(duì)象是person,因此this指向person,this.name就是person.name。

因?yàn)閷?duì)象的屬性可以賦給另一個(gè)對(duì)象,所以屬性所在的當(dāng)前對(duì)象是可變的 ----> this的指向是可變的

var A = {
  name: "Rookie",
  method: function () {
    return "姓名:"+ this.name;
  }
};

var B = {
  name: "BDD"
};

B.method= A.method;
B.method()   // "姓名:BDD"
使用場(chǎng)景 (1)全局環(huán)境

全局環(huán)境使用this,它指的就是頂層對(duì)象window

this === window // true

function f() {
  console.log(this === window);
}
f() // true

不管是不是在函數(shù)內(nèi)部,只要是在全局環(huán)境下運(yùn)行,this就是指頂層對(duì)象window

(2)構(gòu)造函數(shù)

構(gòu)造函數(shù)中的this,指的是實(shí)例對(duì)象。

var Obj = function (e) {
  this.e = e;
};
var n=new Obj("HOLA");
console.log(n.e);

this指向?qū)嵗龑?duì)象,所以在構(gòu)造函數(shù)內(nèi)部定義this.e,就相當(dāng)于定義實(shí)例對(duì)象有一個(gè)e屬性。

(3)對(duì)象的方法

如果對(duì)象的方法里面包含this,this的指向就是方法運(yùn)行時(shí)所在的對(duì)象。該方法賦值給另一個(gè)對(duì)象,就會(huì)改變this的指向。

var obj ={
  foo: function () {
    console.log(this);
  }
};

obj.foo() // obj

obj.foo方法執(zhí)行時(shí),它內(nèi)部的this指向obj

var a = {
  p: "Hello",
  b: {
    m: function() {
      console.log(this.p);
    }
  }
};

a.b.m() // undefined

如果this所在的方法不在對(duì)象的第一層,這時(shí)this只是指向當(dāng)前一層的對(duì)象,而不會(huì)繼承更上面的層。

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

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

相關(guān)文章

  • 詳解js和jquery里的this關(guān)鍵字

    摘要:出于這個(gè)原因,該函數(shù)返回的,所以在這里指的是,所以返回的是第一個(gè)說(shuō)明關(guān)鍵字通常在對(duì)象的構(gòu)造函數(shù)中使用,用來(lái)引用對(duì)象。重寫無(wú)法重寫,因?yàn)樗且粋€(gè)關(guān)鍵字。結(jié)論,表示當(dāng)前的上下文對(duì)象是一個(gè)對(duì)象,可以調(diào)用對(duì)象所擁有的屬性,方法。 在《javaScript語(yǔ)言精粹》這本書中,把 this 出現(xiàn)的場(chǎng)景分為四類,簡(jiǎn)單的說(shuō)就是: 有對(duì)象就指向調(diào)用對(duì)象 沒(méi)調(diào)用對(duì)象就指向全局對(duì)象 用new構(gòu)造就指向新對(duì)...

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

    摘要:關(guān)鍵字關(guān)鍵字是什么關(guān)鍵字是中最復(fù)雜的機(jī)制之一。它是一個(gè)很特別的關(guān)鍵字,被定義在所有函數(shù)的作用域中??梢园堰@條規(guī)則看作是無(wú)法應(yīng)用其他規(guī)則時(shí)的默認(rèn)規(guī)則。取決于函數(shù)調(diào)用的位置注意事項(xiàng)避免多層避免數(shù)組方法中的避免回調(diào)函數(shù)中的 this關(guān)鍵字 this關(guān)鍵字是什么 this關(guān)鍵字是JavaScript中最復(fù)雜的機(jī)制之一。它是一個(gè)很特別的關(guān)鍵字,被定義在所有函數(shù)的作用域中。但是即使是非常有經(jīng)驗(yàn)的J...

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

    摘要:關(guān)鍵字關(guān)鍵字是什么關(guān)鍵字是中最復(fù)雜的機(jī)制之一。它是一個(gè)很特別的關(guān)鍵字,被定義在所有函數(shù)的作用域中??梢园堰@條規(guī)則看作是無(wú)法應(yīng)用其他規(guī)則時(shí)的默認(rèn)規(guī)則。取決于函數(shù)調(diào)用的位置注意事項(xiàng)避免多層避免數(shù)組方法中的避免回調(diào)函數(shù)中的 this關(guān)鍵字 this關(guān)鍵字是什么 this關(guān)鍵字是JavaScript中最復(fù)雜的機(jī)制之一。它是一個(gè)很特別的關(guān)鍵字,被定義在所有函數(shù)的作用域中。但是即使是非常有經(jīng)驗(yàn)的J...

    cucumber 評(píng)論0 收藏0
  • 如何理解JavaScript的this關(guān)鍵字

    摘要:原文鏈接參考深入理解原型和閉包完結(jié)王福朋博客園中的作用域詳解博客園 前言 王福朋老師的 JavaScript原型和閉包系列 文章看了不下三遍了,最為一個(gè)初學(xué)者,每次看的時(shí)候都會(huì)有一種 大徹大悟 的感覺(jué),而看完之后卻總是一臉懵逼。原型與閉包 可以說(shuō)是 JavaScirpt 中理解起來(lái)最難的部分了,當(dāng)然,我也只是了解到了一些皮毛,對(duì)于 JavaScript OOP 更是缺乏經(jīng)驗(yàn)。這里我想總...

    Yangder 評(píng)論0 收藏0
  • JS 中 this 關(guān)鍵字詳解

    摘要:首先,必須搞清楚在里面,函數(shù)的幾種調(diào)用方式普通函數(shù)調(diào)用作為方法來(lái)調(diào)用作為構(gòu)造函數(shù)來(lái)調(diào)用使用方法來(lái)調(diào)用方法箭頭函數(shù)但是不管函數(shù)是按哪種方法來(lái)調(diào)用的,請(qǐng)記住一點(diǎn)誰(shuí)調(diào)用這個(gè)函數(shù)或方法關(guān)鍵字就指向誰(shuí)。 本文主要解釋在JS里面this關(guān)鍵字的指向問(wèn)題(在瀏覽器環(huán)境下)。 首先,必須搞清楚在JS里面,函數(shù)的幾種調(diào)用方式: 普通函數(shù)調(diào)用 作為方法來(lái)調(diào)用 作為構(gòu)造函數(shù)來(lái)調(diào)用 使用apply/call...

    zoomdong 評(píng)論0 收藏0
  • 學(xué)習(xí)js中的'this'關(guān)鍵字

      在JavaScript中‘this’關(guān)鍵字是一個(gè)非常重要的概念,我們雖然知道它重要,但它也十分的晦澀難懂,也給我們學(xué)習(xí)造成不小的困擾。  什么是'this'關(guān)鍵字  'this'關(guān)鍵字是為每個(gè)執(zhí)行上下文(每個(gè)函數(shù))創(chuàng)建的一個(gè)特殊變量;所以一般來(lái)說(shuō),在使用'this'關(guān)鍵字的函數(shù)中,'this'永遠(yuǎn)是取其所有者的值??偨Y(jié)一句話是該函...

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

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

0條評(píng)論

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