什么是javascript的变量'name'?

时间:2012-07-21 10:44:31

标签: javascript

例如,

var name = [1,2,3]  // name === "1,2,3"
name = {"a":"b"}  // name === "[object Object]"

我不明白这种情况。

javascript上'name'或'window.name'的标识是什么?

ADD:

我使用了Chrome的开发工具

1 个答案:

答案 0 :(得分:2)

宣布

name = {"a":"b"}

您正在创建一个对象,并且对象的字符串表示形式为[object Object],也就是说,当您尝试将对象转换为字符串时(这可能就是这种情况),您将获得该结果。

请注意,name === "[object Object]" 为真。

alert( name === "[object Object]" );             // alerts "false"
alert( name.toString() === "[object Object]" );  // alerts "true"

阵列也是如此。 1,2,3只是数组[1,2,3]的字符串表示形式。


对于window.name,它具有当前窗口的名称,因此将其更改为非字符串可能会导致意外行为:https://developer.mozilla.org/en/DOM/window.name