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

資訊專(zhuān)欄INFORMATION COLUMN

小tips:JS中this操作執(zhí)行像(object.getName = object.getName

lcodecorex / 2474人閱讀

摘要:來(lái)分析下調(diào)用的結(jié)果第一行代碼跟平常一樣調(diào)用了返回了因?yàn)榫褪?。第二行代碼在調(diào)用這個(gè)方法之前給它加了一個(gè)括號(hào)。第三行代碼先執(zhí)行了一條賦值語(yǔ)句,然后再調(diào)用賦值后的結(jié)果。因?yàn)檫@個(gè)賦值表達(dá)式的值是函數(shù)本身,所以的值不能得到維持,結(jié)果就返回了。

var name = "The window";
var object = {
    name: "My Object",
    getName: function(){
        console.log(this.name);
    }
}

object.getName(); // My Object 
(object.getName)(); // My Object 
(object.getName = object.getName)(); // The window

來(lái)分析下調(diào)用的結(jié)果:

第一行代碼跟平常一樣調(diào)用了object.getName()返回了My Object ,因?yàn)?b>this.name就是object.name。

第二行代碼在調(diào)用這個(gè)方法之前給它加了一個(gè)括號(hào)。雖然加了一個(gè)括號(hào)后,就好像只是在引用一個(gè)函數(shù),但是this的值得到了維持,因?yàn)?b>object.getName和(object.getName)的定義是相同的。

第三行代碼先執(zhí)行了一條賦值語(yǔ)句,然后再調(diào)用賦值后的結(jié)果。因?yàn)檫@個(gè)賦值表達(dá)式的值是函數(shù)本身,所以this的值不能得到維持,結(jié)果就返回了The window。

當(dāng)然你不大可能像第二行和第三行代碼一樣調(diào)用這個(gè)方法。這個(gè)例子只是說(shuō)明了一個(gè)細(xì)微的語(yǔ)法變化,都有可能意外的改變this的值。

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

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

相關(guān)文章

  • JavaScriptthis

    摘要:在中,只有兩種指向,一種是指向當(dāng)前的封閉作用域,或者是指向當(dāng)前作用域的外層,的最頂層就是對(duì)象。在非嚴(yán)格模式下,默認(rèn)指向全局對(duì)象。瀏覽器環(huán)境全局函數(shù)方法用于在指定的毫秒數(shù)后調(diào)用函數(shù)或計(jì)算表達(dá)式。它會(huì)不停地調(diào)用函數(shù),指導(dǎo)被調(diào)用或者窗口被關(guān)閉。 1:基本概念 this字面意思是當(dāng)前,當(dāng)前執(zhí)行代碼的環(huán)境對(duì)象或者是上下文。代表著當(dāng)前方法執(zhí)行的環(huán)境上下文,那么何為環(huán)境上下文,通俗的說(shuō),誰(shuí)調(diào)用了函數(shù)...

    cucumber 評(píng)論0 收藏0
  • jsthis指向問(wèn)題: (object.getName = object.getName)()為何

    摘要:輸出的原因,就不談了啊。論證賦值表達(dá)式,返回值是后者,借鑒自網(wǎng)上看到的方法輸出輸出函數(shù)運(yùn)行后,輸出的是賦值語(yǔ)句的后者的值此時(shí)值是。 var name = The Window; var object = { name : My Object, getName: function(){ console.log(this.name); } }; o...

    Drummor 評(píng)論0 收藏0
  • JS的閉包與this詳解

    摘要:刪除對(duì)匿名函數(shù)的引用,以便釋放內(nèi)存在匿名函數(shù)從中被返回后,它的作用域鏈被初始化為包含函數(shù)的活動(dòng)對(duì)象和全局變量對(duì)象。閉包與變量我們要注意到,閉包只能取到任意變量的最后值,也就是我們保存的是活動(dòng)對(duì)象,而不是確定值。 工作中會(huì)遇到很多 this對(duì)象 指向不明的問(wèn)題,你可能不止一次用過(guò) _self = this 的寫(xiě)法來(lái)傳遞this對(duì)象,它每每會(huì)讓我們覺(jué)得困惑和抓狂,我們很可能會(huì)好奇其中到底發(fā)...

    fireflow 評(píng)論0 收藏0
  • 《JavaScript高級(jí)程序設(shè)計(jì)》(第3版)讀書(shū)筆記 第7章 函數(shù)表達(dá)式

    摘要:定義函數(shù)表達(dá)式的方式有兩種函數(shù)聲明。不過(guò),這并不是匿名函數(shù)唯一的用途??梢允褂妹瘮?shù)表達(dá)式來(lái)達(dá)成相同的結(jié)果閉包匿名函數(shù)和閉包是兩個(gè)概念,容易混淆。匿名函數(shù)的執(zhí)行環(huán)境具有全局性,因此其對(duì)象通常指向通過(guò)改變函數(shù)的執(zhí)行環(huán)境的情況除外。 定義函數(shù)表達(dá)式的方式有兩種: 函數(shù)聲明。它的重要特征就是 函數(shù)聲明提升(function declaration hoisting) 即在執(zhí)行代碼之前會(huì)...

    鄒立鵬 評(píng)論0 收藏0
  • 前端學(xué)習(xí)筆記之閉包——看了一張圖終于明白啥是閉包了

    摘要:在一個(gè)閉包環(huán)境內(nèi)修改變量值,不會(huì)影響另一個(gè)閉包中的變量。直到看到函數(shù)閉包閉包這篇文章的代碼一部分,終于明白其中的邏輯了。 閉包 閉包定義:指擁有多個(gè)變量和綁定了這些變量的環(huán)境的表達(dá)式(通常是一個(gè)函數(shù)),因而這些變量也是該表達(dá)式的一部分。函數(shù)內(nèi)部可以直接讀取全局變量。函數(shù)內(nèi)部變量無(wú)法在函數(shù)外部訪問(wèn)。函數(shù)內(nèi)部聲明要用var或者let聲明,不然會(huì)變成全局變量鏈?zhǔn)阶饔糜颍鹤訉?duì)象會(huì)一級(jí)級(jí)向上尋找...

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

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

0條評(píng)論

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