Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 迭代字符串数组错误,运行第一项';信_Javascript_Html_Arrays - Fatal编程技术网

Javascript 迭代字符串数组错误,运行第一项';信

Javascript 迭代字符串数组错误,运行第一项';信,javascript,html,arrays,Javascript,Html,Arrays,我有一个简单的数组循环,在JSFIDLE中完美运行,显示所有项,请参阅 奇怪的是,将相同的脚本放在这里作为一个代码段按字母运行,一个字母一个字母地显示第一个字符串。我觉得自己很愚蠢,我是不是错过了什么?请查看: var name=[“海伦”,“吉姆”,“托马斯”,“卢克”,“西奥多]; var div=document.getElementById('cards'); for(var i=0;iWordname是javascript中的一个(正如@prasad所回答的)选项,这就是为什么您的代

我有一个简单的数组循环,在JSFIDLE中完美运行,显示所有项,请参阅

奇怪的是,将相同的脚本放在这里作为一个代码段按字母运行,一个字母一个字母地显示第一个字符串。我觉得自己很愚蠢,我是不是错过了什么?请查看:

var name=[“海伦”,“吉姆”,“托马斯”,“卢克”,“西奥多];
var div=document.getElementById('cards');

for(var i=0;iWord
name
是javascript中的一个(正如@prasad所回答的)选项,这就是为什么您的代码没有按预期工作的原因

使用
名称
更改
名称
后,请参见下面的代码

var name=[“海伦”、“吉姆”、“托马斯”、“卢克”、“西奥多”];
var div=document.getElementById('cards');

对于(var i=0;i请尝试其工作的任何函数。
name
是javascript的字。但与in函数一起应用。它不充当保留字。这是防止该操作的方法之一。
(函数(){
var name=[“海伦”、“吉姆”、“托马斯”、“卢克”、“西奥多”];
var div=document.getElementById('cards');
对于(变量i=0;i
name
AKA
window.name
在javascript中,
name
绝对不是保留字

name
AKA
window。name
是窗口的名称。它的值由setter函数设置,并且作为窗口名称应该是字符串。因此,当您使用
name=[“foo”,“bar”]
设置它时,它将转换为字符串


不幸的是,Javascript必须与每个人和他的狗共享全局名称空间,这说明了尽可能避免全局范围的另一个原因。

显然
name
window
的一个属性,它有一个setter,可以将输入值转换为字符串。您的代码正在尝试分配ar光线到神奇地转换为字符串的属性:

var name=[“foo”,“bar”];

console.log(name);//数组转换为“foo,bar”
这里似乎名称被视为字符串,而不是数组。这里有一个js保留字的overviev:这是因为名称属性不再具有全局作用域。名称在Javascript中不是保留字。它是窗口的名称,因此是一个变量。您无法为任何保留字赋值或使用保留字s在任何javascript上下文或作用域中的任何位置都是变量。-1Name不是javascript中的保留字!!!它是浏览器用于定义窗口名称的全局作用域中的变量。要清楚,正如上面的链接所述,“这些是依赖于实现的javascript对象、方法或属性的预定义名称。”(可以说,有些应该是保留语)