【问题标题】:JavaScript typeof should be number but returns stringJavaScript typeof 应该是数字但返回字符串
【发布时间】:2014-01-17 09:56:38
【问题描述】:

我的问题是我只想打印出我的对象的字符串属性。但是当我检查属性的类型时,它也会返回一个数字的字符串..

这是我的代码:

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 的字符串...

【问题讨论】:

  • typeof languages[prop]...
  • for(var prop in language){ console.log(typeof languages[prop]); }

标签: javascript typeof


【解决方案1】:

prop 将是属性 name 的字符串表示形式。

你想测试typeof languages[prop]

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 感谢您的建议,我赞成您的回答,但我会接受昆汀的回答,因为他的建议解决了我的问题..
    猜你喜欢
    • 2022-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 2011-02-25
    相关资源
    最近更新 更多