不能将数组赋值给全局变量name
Can't assign an array to the global variable "name"
这是令人难以置信的沮丧,特别是考虑到它的简单性。简单的javascript:
<script type="text/javascript">
var name = new Array("cat","dog");
document.write(name[1]);
</script>
这个脚本打印:"a"(就像"cat"中的"a"…又名名称[0][1]……)。
然而,当我将其更改为document.write(name)时,它打印整个数组(即。"猫、狗")。为什么这个简单的数组不能打印整个字符串(应该是"dog")?!
全局变量name
引用已有的window.name
属性,该属性用于设置浏览器窗口的名称。它将赋给它的任何值转换为字符串:
window.name = [1, 2, 3];
console.log(typeof window.name, window.name);
如果您将变量名称更改为例如names
,它将按预期执行。
在函数作用域中使用name
当然会很好。
你应该用这个代替:
var name = ["cat", "dog"];
document.write(name[1]);
相关文章:
- 全局变量和全局对象的属性之间有什么区别吗
- delete关键字在全局变量上的不同行为
- 在javascript函数中设置全局变量
- 如何将getJson的响应保存在全局变量中
- 从Javascript方法返回全局变量
- AngularJS中的封装窗口全局变量
- javascript隐式全局变量
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 如何使全局变量仅特定于该文件
- 在page.open()-PhantomJS中无法访问全局变量
- 使用全局变量来存储数字(JavaScript)
- 如何将变量声明为全局变量
- 在节点中创建文件全局变量
- 在Javascript中使用全局变量作为缓存是很好的
- 创建要在其他函数中使用的全局变量
- 为了避免创建全局变量,可以将所有变量分配给一个对象吗
- 函数中的innerHTML(全局变量?)
- 如何在javascript中为全局变量赋值
- 为什么全局变量“name”更改为字符串
- 不能将数组赋值给全局变量name