簡體   English   中英

為什么js變量顯示[object object]但console.log()有效?

[英]Why js variable show [object object] but console.log() works?

我有一些代碼

var weibo = { weibo: { url: '//testurl.com', icon: 'fa fa-weibo' } }
var mail = { mail: { url: '//testurl.com', icon: 'fa fa-envelope' } }
var github = { github: { url: '//testurl.com', icon: 'fa fa-github' } }

var [key] = Object.keys(weibo)
var name = weibo[key]
console.log(weibo[key])

我想從weibo獲取對象並存儲到名稱變量中

但是名稱顯示[object object]

在此處輸入圖片說明

我不使用[object Object]是什么意思的 alert (JavaScript)

key是一個字符串weibo 在此處輸入圖片說明

我只想將變量存儲到名稱中,為什么chrome dev tools顯示[object object]

console.log()有效,它顯示了正確的對象信息 在此處輸入圖片說明

更新,請參閱我的gif


這讓我想了一會兒,結果發現瀏覽器中定義了一個window.name全局變量( MDN:Window.name )。

根據MDN: window.name將使用toString方法將所有值轉換為它們的字符串表示形式。

toString應用於對象時,輸出將為[object object]

因此,要么將您的代碼包含在自己的范圍內(可能在函數內),要么將您的name變量重命名。

采用

var key = Object.keys(weibo)
var name = key[0]

這是因為您已創建“ weibo”作為對象,並將其傳遞給原始數據類型引用“ name”。

暫無
暫無

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

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