我是javascript的新手,对整个编程来说相对较新。我一直在理解javascript的机制,但是我在以下情况下难以理解:
var dataTypes = {
string1: "Test",
string2: "Test",
number1: 4,
};
console.log(typeof dataTypes.number1);
console.log(" ");
for (var x in dataTypes) {
console.log(typeof x);
if ((typeof x) === "string") {
console.log(dataTypes[x]);
} else {
//
}
}
当我运行它时,我的控制台显示以下内容:
number
string
Test
string
Test
string
4
我对dataTypes.number1
从数字数据类型变为字符串感到困惑。如果有人能花时间详细说明我做错了什么,并解释一下,那就太棒了。
答案 0 :(得分:8)
您的变量x
是dataTypes
中与每个键/值对关联的键(而不是值)。因此,它总是一个字符串。
您需要检查typeof dataTypes[x]
。