var name = ['name1', 'name2', 'name2'];
console.log(name, name.length);
// name1,name2,name2 17
AND
var names = ['name1', 'name2', 'name2'];
console.log(names, names.length);
// (3) ["name1", "name2", "name2"] 3
JS中的变量name
有什么问题?
答案 0 :(得分:2)
https://www.sitepoint.com/five-ways-to-hide-elements-in-css/ Gets/sets
窗口的名称。
string = window.name;
window.name = string;
窗口名称主要用于设置超链接和表单的目标。 Windows不需要名称。
在一些框架中,它也被用于提供跨域消息传递(例如,window.name
和Dojo的SessionVars)作为JSONP的更安全的替代方案。但是,托管敏感数据的现代Web应用程序不应依赖window.name进行跨域消息传递,而应使用postMessage API。
不要将值设置为
unstring
,因为其get方法会调用toString
方法。
答案 1 :(得分:1)
这是因为 window.name 是保留的。类型应该是字符串。因此,当您通过 var 声明 name 并分配一个数组时,它将被隐式转换为字符串。
您可以尝试以下代码:
let name = ['name1', 'name2', 'name2'];
console.log(name, name.length);
// (3) ["name1", "name2", "name2"] 3
因为 let 变量不会附加到 window 对象中。
您可以参考此MDN链接:https://developer.mozilla.org/en-US/docs/Web/API/Window/name。