可以在这个小片段中看到该行为(将其作为全局脚本执行):
var name = {};
name.FirstName = 'Tom';
alert(name.FirstName);
Run Code Online (Sandbox Code Playgroud)
undefinedChrome中的警报产生但可以在IE和Firefox中使用.当我这样做时,我也得到一个奇怪的价值
alert(name);
Run Code Online (Sandbox Code Playgroud) 当我输入这个看似无辜的代码片段时:
values.name
Run Code Online (Sandbox Code Playgroud)
gedit将名称突出显示为关键字.但是,关于保留关键字的问题的答案链接到的页面未列出名称.我还在SpiderMonkey中进行了几项微不足道的测试,但名字似乎就像一个普通的标识符.
谷歌搜索也没有告诉我太多.但是,我确实在"其他JavaScript关键字"中找到了一个页面列表名称. 我的猜测是name是一个函数或某些DOM元素的成员,并且不会侵入命名空间.
是名真正在JavaScript中的关键词?如果是这样,它会做什么?
好的,所以我只是在JavaScript中讨论一些基本的编程原则(我是编程新手,所以请耐心等待).下面是我遇到问题的代码(特别注意数组的字符串组件).
var name = new Array();
var sales = new Array();
var total = prompt("How many total salesmen does your department employ?");
for(i = 0; i < total; i++)
{
name[i] = prompt("What is his/her (the salesman's) name?");
sales[i] = prompt("How much (in dollars) did he/she sell?");
}
for(j = 0; j < i; j++)
{
document.write(name[j]+" had $"+ sales[j]+" in sales!<br>");
}Run Code Online (Sandbox Code Playgroud)
如您所见,这只是一个简单的代码,让我熟悉各种类型元素的数组.出于某种原因,代码返回:
undefined had $100 in sales!
undefined had $2999 in sales!
undefined had $4999 in sales!
undefined …Run Code Online (Sandbox Code Playgroud)