2013-04-02 89 views
0

考慮下面的代碼:添加屬性變量在JavaScript

var str = "abc"; 
str.foo = 123; // write - ignored 
123 
str.foo // read 
undefined 

爲什麼我得到了一個未定義?不應該那個財產輸出123?它輸出未定義的原因是什麼?

由於var str是一個字符串,爲什麼不再顯示屬性?

我們可以添加屬性和方法到一個字符串嗎?

回答

0

您正在將str定義爲string而不是object。也許你的意思做這樣的事情:

var o = {}; 
o.str = "abc"; 
o.foo = 123; 

看到所選的這個問題的答案了很多很詳細的:

Why can't I add properties to a string object in javascript?

+2

海峽=新的String( 「ABC」); – dyurkavets

+0

這個問題正在被重複關閉。見這裏http://meta.stackexchange.com/questions/82420/remove-rep-gained-from-answering-a-question-that-is-a-duplicate爲什麼你不應該回答這些類型的問題。 – Ryan

+0

@ryan好的謝謝 – lbstr