簡體   English   中英

console.log()在對象中的怪異行為

[英]Weird behaviour of console.log() in an object

var foo = {
a : function(){
    console.log(this)
},

b : console.log(this)
}

foo.a()

輸出:- {} { a: [Function: a], b: undefined }

首先聲明foo變量,然后評估鍵b ,通過console.log()給我們全局對象:-在節點中顯示{} ,在瀏覽器中顯示Window

但是,當foo.a()時, b顯示undefined

我想念一些概念嗎? 為什么不再次評估?

謝謝

創建一個foo對象,並為其分配兩個屬性:

  • 您可以使用文本function(){console.log(this)}設置a be函數
  • 您將b設置為console.log(this)的返回值。 console.log(this)立即被執行,並注銷該對象。 該對象尚未獲得屬性,因此它注銷{} console.log()的返回值是undefined ,因此b設置為undefined

現在,您已經使用a =一些函數和b =未定義來初始化對象。 稍后,當您調用a時,它將使用a = some函數和b = undefined登出foo對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM