摘要:來分析下調(diào)用的結(jié)果第一行代碼跟平常一樣調(diào)用了返回了因為就是。第二行代碼在調(diào)用這個方法之前給它加了一個括號。第三行代碼先執(zhí)行了一條賦值語句,然后再調(diào)用賦值后的結(jié)果。因為這個賦值表達式的值是函數(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
來分析下調(diào)用的結(jié)果:
第一行代碼跟平常一樣調(diào)用了object.getName()返回了My Object ,因為this.name就是object.name。
第二行代碼在調(diào)用這個方法之前給它加了一個括號。雖然加了一個括號后,就好像只是在引用一個函數(shù),但是this的值得到了維持,因為object.getName和(object.getName)的定義是相同的。
第三行代碼先執(zhí)行了一條賦值語句,然后再調(diào)用賦值后的結(jié)果。因為這個賦值表達式的值是函數(shù)本身,所以this的值不能得到維持,結(jié)果就返回了The window。
當然你不大可能像第二行和第三行代碼一樣調(diào)用這個方法。這個例子只是說明了一個細微的語法變化,都有可能意外的改變this的值。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/89777.html
摘要:在中,只有兩種指向,一種是指向當前的封閉作用域,或者是指向當前作用域的外層,的最頂層就是對象。在非嚴格模式下,默認指向全局對象。瀏覽器環(huán)境全局函數(shù)方法用于在指定的毫秒數(shù)后調(diào)用函數(shù)或計算表達式。它會不停地調(diào)用函數(shù),指導被調(diào)用或者窗口被關(guān)閉。 1:基本概念 this字面意思是當前,當前執(zhí)行代碼的環(huán)境對象或者是上下文。代表著當前方法執(zhí)行的環(huán)境上下文,那么何為環(huán)境上下文,通俗的說,誰調(diào)用了函數(shù)...
摘要:輸出的原因,就不談了啊。論證賦值表達式,返回值是后者,借鑒自網(wǎng)上看到的方法輸出輸出函數(shù)運行后,輸出的是賦值語句的后者的值此時值是。 var name = The Window; var object = { name : My Object, getName: function(){ console.log(this.name); } }; o...
摘要:刪除對匿名函數(shù)的引用,以便釋放內(nèi)存在匿名函數(shù)從中被返回后,它的作用域鏈被初始化為包含函數(shù)的活動對象和全局變量對象。閉包與變量我們要注意到,閉包只能取到任意變量的最后值,也就是我們保存的是活動對象,而不是確定值。 工作中會遇到很多 this對象 指向不明的問題,你可能不止一次用過 _self = this 的寫法來傳遞this對象,它每每會讓我們覺得困惑和抓狂,我們很可能會好奇其中到底發(fā)...
摘要:定義函數(shù)表達式的方式有兩種函數(shù)聲明。不過,這并不是匿名函數(shù)唯一的用途??梢允褂妹瘮?shù)表達式來達成相同的結(jié)果閉包匿名函數(shù)和閉包是兩個概念,容易混淆。匿名函數(shù)的執(zhí)行環(huán)境具有全局性,因此其對象通常指向通過改變函數(shù)的執(zhí)行環(huán)境的情況除外。 定義函數(shù)表達式的方式有兩種: 函數(shù)聲明。它的重要特征就是 函數(shù)聲明提升(function declaration hoisting) 即在執(zhí)行代碼之前會...
摘要:在一個閉包環(huán)境內(nèi)修改變量值,不會影響另一個閉包中的變量。直到看到函數(shù)閉包閉包這篇文章的代碼一部分,終于明白其中的邏輯了。 閉包 閉包定義:指擁有多個變量和綁定了這些變量的環(huán)境的表達式(通常是一個函數(shù)),因而這些變量也是該表達式的一部分。函數(shù)內(nèi)部可以直接讀取全局變量。函數(shù)內(nèi)部變量無法在函數(shù)外部訪問。函數(shù)內(nèi)部聲明要用var或者let聲明,不然會變成全局變量鏈式作用域:子對象會一級級向上尋找...
閱讀 540·2019-08-30 15:44
閱讀 959·2019-08-30 10:55
閱讀 2797·2019-08-29 15:16
閱讀 1174·2019-08-29 13:17
閱讀 2867·2019-08-26 13:27
閱讀 630·2019-08-26 11:53
閱讀 2187·2019-08-23 18:31
閱讀 1938·2019-08-23 18:23