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

資訊專欄INFORMATION COLUMN

JavaScript prototype 疑惑

Half / 2386人閱讀

摘要:看了高級程序設計中關于對象的介紹,記錄一下對于其中有些地方的疑惑。

看了《JavaScript高級程序設計》中關于對象的介紹,記錄一下對于其中有些地方的疑惑。

使用構造函數創建對象時,prototype中如果定義一個屬性指向函數,在函數中引用this,為什么this是指向構造函數而不是prototype對象?

試驗:

function SuperType() {
    this.property = "value in SuperType"
    this.obj = {
        testThis: function() {
            console.log(this)
            console.log(this.testValue)
            console.log(this.property)
        },
        testValue: "value in SuperType.obj",
    }
}

SuperType.prototype.getSuperValue = function() {
    console.log(this)
    return this.property
}

const test = new SuperType()

test.obj.testThis()
// output:
// { testThis: [Function: testThis], testValue: "test" }
// value in SuperType.obj
// undefined

r = test.getSuperValue()
console.log(r)
// output:
// SuperType {
//  property: true,
//  obj: { testThis: [Function: testThis], testValue: "value in SuperType.obj" }
// }
// value in SuperType

按照書上的講解,test實例的結構應該是如下的(偽代碼):

person = {
    __proto__: {
        constructor: SuperType,
        getSuperValue: function() { ... },
    },
    obj: {
        testThis: function() { ... },
        testValue: "value in SuperType.obj",
    },
    property: "value in SuperType",
}

__proto__既然和obj同一層級的,那getSuperValue應該就和testValue是有同樣的表現才對呀,為什么getSuperValue可以讀取到property的值呢?

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

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

相關文章

  • JavaScript之原型解析(上)

    摘要:前言原型這個概念在這門語言中是一個核心關鍵的知識點,但是你是否真的已經完全理解透徹了呢可能我個人的理解能力較差,因此經過多次翻閱書籍和實踐我才真正了解原型,所以記錄下來以加深理解,也以便日后深入探討。 前言 原型這個概念在JavaScript這門語言中是一個核心關鍵的知識點,但是你是否真的已經完全理解透徹了呢?可能我個人的理解能力較差,因此經過多次翻閱書籍和實踐我才真正了解原型,所以記...

    lushan 評論0 收藏0
  • JavaScript this 從此不再疑惑

    摘要:是的,始終指向調用對象,調用對象,這個很重要,的靜態成員是沒有的概念的。所以和,的區別是返回一個明確的新函數,和立即執行了。 1. 問題引入 function A() {} A.prototype.fna = function() { console.log(this); } 我的問題是 fna 的 this 是指向哪里的? var a = new A(); a.fna(); ...

    Barrior 評論0 收藏0
  • JavaScript 原型中的哲學思想

    摘要:而作為構造函數,需要有個屬性用來作為以該構造函數創造的實例的繼承。 歡迎來我的博客閱讀:「JavaScript 原型中的哲學思想」 記得當年初試前端的時候,學習JavaScript過程中,原型問題一直讓我疑惑許久,那時候捧著那本著名的紅皮書,看到有關原型的講解時,總是心存疑慮。 當在JavaScript世界中走過不少旅程之后,再次萌發起研究這部分知識的欲望,翻閱了不少書籍和資料,才搞懂...

    sugarmo 評論0 收藏0
  • JavaScript設計模式(一)

    摘要:聲明設計模式系列是來自設計模式與開發這本書的讀書筆記,會結合自身的理解和一些項目經驗做筆記,原書作者曾探前言什么是設計模式,設計模式就是在某種場合下對某個問題的一種解決方案。 聲明: 【JavaScript設計模式】 系列 是來自《JavaScript設計模式與開發》這本書的讀書筆記,會結合自身的理解和一些項目經驗做筆記,原書作者 曾探 前言 什么是設計模式,設計模式就是在某種場合下對...

    dreamtecher 評論0 收藏0
  • 聽飛狐聊JavaScript設計模式系列07

    摘要:本回內容介紹上一回聊到單例模式,做了一道題,內容不多,比較容易理解。這里其實還可以進一步優化,達到高聚類低耦合,這里工廠模式就告一段落了。 本回內容介紹 上一回聊到JS單例模式(singleton),做了一道題,內容不多,比較容易理解。介一回嘞,聊聊工廠模式,之前聊到過工廠模式,這回聊深入點兒,可能會比較抽象,不過好在實際開發中使用還算廣泛,理解起來會比較容易,開始咯: 1. 簡單工廠...

    BetaRabbit 評論0 收藏0

發表評論

0條評論

Half

|高級講師

TA的文章

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