typeof是报告字符串而不是数字

时间:2015-03-23 04:01:04

标签: javascript typeof

不知何故,其中包含数据4的变量报告为带有typeof运算符而不是数字的字符串?这是Code Academy编辑器的任何问题吗?

http://i.imgur.com/Os8n0dJ.png?1

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

// print hello in the 3 different languages
for(var item in languages) {
    if(typeof item !== "number") {
        console.log(languages[item] + " " + typeof item);
    }
}

1 个答案:

答案 0 :(得分:3)

item是对象languages中的键,而不是这些属性的值。要检查您需要测试的值的类型languages[item]

// print hello in the 3 different languages
for(var item in languages) {
    if(typeof languages[item] !== "number") {
        console.log(languages[item] + " " + typeof item, item);
    }
}

演示:Fiddle