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

資訊專欄INFORMATION COLUMN

【譯】理解JavaScript:new 關鍵字

陸斌 / 828人閱讀

摘要:原理是類的構造函數被調用,并且實例化了新的對象。盡管的語法非常相同,但使用在底層還是會引發不同行為沒有構造函數首先,我們并不是必須要用一個類來生成對象。構造函數只不過是在調用時關鍵字放在其前面的普通方法而已。

由于存在海量的庫和工具,以及各種各樣簡化你開發的玩意兒,很多程序員開始在不深入了解底層的情況下開發應用。JavaScript就是這種現象的代言人。JavaScript作為一種最復雜的且流傳最廣泛的語言,很多的開發者被高層次庫的使用吸引,同時將糟粕抽離。

盡管你在不深入理解的情況下仍可以開發值得稱道的應用,但深入JavaScript絕對讓你收益。對“怪異部分”的理解可以讓高級開發者在蕓蕓眾生中脫穎而出,另外,雖然JS的生態日新月異,但對“怪異部分”的理解依舊是所有其他工具的基礎。理解了這些就會拓展你的視野,并且改變你看待開發過程的方式。

在我 之前的文章 中稍微提到過new關鍵字,它創建了一個對this的綁定。在面向對象語言中,new關鍵字總是用于實例化一個類。

var dog = new Dog();

原理是類的構造函數被調用,并且實例化了新的對象。盡管JavaScript的語法非常相同,但使用new在底層還是會引發不同行為

沒有構造函數

首先,我們并不是必須要用一個類來生成對象。在JavaScript中我們可以用方法(function)就能實現此目標。構造函數只不過是在調用時new關鍵字放在其前面的普通方法而已。你可以說沒有構造函數-只有構造函數調用,因為實際上所有的函數都可以被調用去創建對象。這并不是對象或者類或者任何特殊定義方式的一部分。

這里有幾個構造函數調用經歷的步驟,但我們只關注現在討論的事項:

1.一個新對象被創建

2.this被綁定到新對象上面

3.除非函數返回它自己的對象,否則調用將返回已構造的對象

function Person(name) {
    this.name = name
}

var person = new Person("Alex")
console.log(person.name) // Alex
總結

總結一下,這并不是一個難懂的概念。要點就是要始終記得,任何方法(function)都可以像構造函數一樣被調用,并且會創建一個this的綁定。

非常感謝閱讀,期待你的反饋。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/95006.html

相關文章

  • javascript的this關鍵理解

    摘要:在中,當使用關鍵字調用函數構造函數時,函數構造函數中也有這個概念,但是它不是惟一的規則,而且常常可以引用來自不同執行上下文的不同對象。因此,我們使用調用函數,可以看到這是對象,并且的屬性是正常的。 一直以來,javascript里邊的this都是一個很難理解的東西,之前看的最多的就是阮一峰老師關于this的理解: http://www.ruanyifeng.com/blo... htt...

    tainzhi 評論0 收藏0
  • []帶你理解 Async/await

    摘要:所以是在一秒后顯示的。這個行為不會耗費資源,因為引擎可以同時處理其他任務執行其他腳本,處理事件等。每個回調首先被放入微任務隊列然后在當前代碼執行完成后被執行。,函數是異步的,但是會立即運行。否則,就返回結果,并賦值。 「async/await」是 promises 的另一種更便捷更流行的寫法,同時它也更易于理解和使用。 Async functions 讓我們以 async 這個關鍵字開...

    xiaochao 評論0 收藏0
  • 理解JavaScript:閉包

    摘要:當面試中讓我解釋一下閉包時我懵逼了。這個解釋開始可能有點晦澀,讓我們抽絲剝繭摘下閉包的真面目。此文不詳述作用域有專門的主題闡述,不過作用域是理解閉包原理的基礎。這才是閉包的真正便利之處。閉包使用不當就會很坑。 原文鏈接 為什么深度學習JavaScript? JavaScript如今是最流行的編程語言之一。它運行在瀏覽器、服務器、移動設備、桌面應用,也可能包括冰箱。無需我舉其他再多不相干...

    岳光 評論0 收藏0
  • []Understanding javascript's 'undefined

    摘要:一個表示編譯器檢測到一個無效的引用值。在實際情況中,往往是在獲取一個未被賦值的引用時被拋出。任何一個函數上下文都有一個被稱為活動對象的變量對象。沒有找到的話,就會認為引用名沒有基礎值并拋出的錯誤。下沒有下的屬性僅存在于被啟動的情況下。 和其他語言相比,javascript中的對于undefined的理解還是有點讓人困惑的。特別是試著理解ReferenceErrors錯誤(x is no...

    galaxy_robot 評論0 收藏0
  • 】this 是什么?JavaScript 對象的內部工作原理

    摘要:關鍵字會實例化一個新的對象實例,并在執行構造函數時將指向該實例。原文鏈接譯是什么對象的內部工作原理 原文鏈接:What is this? The Inner Workings of JavaScript Objects (需要梯子) 原文作者:Eric Elliott 譯文永久鏈接:【譯】什么是 this?JavaScript 對象的內部工作原理 譯者:士心 翻譯目的:函數動...

    Hwg 評論0 收藏0

發表評論

0條評論

陸斌

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<