2014-01-17 72 views
0

你好,親愛的程序員,的JavaScript的typeof應該是數量,但返回的字符串

我的問題是,我想打印出來僅是字符串我對象的屬性。但是當我檢查它也返回字符串爲一些屬性的類型..

這裏是我的代碼:

var languages = { 
    english: "Hello!", 
    french: "Bonjour!", 
    notALanguage: 4, 
    spanish: "Hola!" 
}; 

for(var prop in languages){ 
    console.log(typeof prop); 
} 

輸出是:

string 
string 
string 
string 

我敢肯定,這只是一個容易解決的問題,但我不明白爲什麼typeof返回字符串爲屬性notALanguage ...

非常感謝您提前!

+5

'的typeof語言[丙]'... – Passerby

+1

爲(在語言VAR丙){ 的console.log(typeof運算語言[丙]); } – ppoliani

回答

7

prop將財產的字符串表示。

你想測試typeof languages[prop]

+0

非常感謝你,你的小費解決了我的問題! –

4

當您使用for var .. in ..時,您正在迭代。因此它有效地做:

console.log(typeof 'english'); 
console.log(typeof 'french'); 
console.log(typeof 'notALanguage'); 
console.log(typeof 'spanish'); 
+0

謝謝你的建議,我upvoted你的答案,但我會接受昆汀的答案,因爲他的小費解決了我的問題.. –

-2

typeof輸出始終是一個字符串,通過參數的類型決定。

例如爲:

typeof 4 // # => "number" 
+0

雖然代碼不是'typeof typeof prop'。 – Quentin

+0

啊,誤解了這個問題。 – Florian

相關問題