值为“错误”的字符串是某种保留字

Is string with a value of "Error" some sort of reserved word?

本文关键字:保留字 字符串 错误 值为      更新时间:2023-09-26

所以我的页面上有以下一行Javascript:

form.display.value = 'Error';

其中显示是我的页面上文本类型的输入:

<input type="text" id="calcDisplay" name="display" maxlength="25">

在 Chrome 中,这工作得很好,使输入元素的值为"错误"。但是在IE 10和Firefox中,输入的内容如下:

function Error() {    [native code]}

谁能解释一下这里发生了什么,为什么?

更新:这是被调用的实际函数:

function compute(form) {
   try {
      form.display.value = eval(form.display.value);
   } catch(e) {
      form.display.value = 'Error';
   } 
}

这是它的视频,所以你们不要认为我疯了:

http://screencast.com/t/sq9xXrnf

当值Error已在输入中时,此行:

form.display.value = eval(form.display.value);

。将计算到您之前定义的函数Error。因此,这必须在第二次调用compute函数时发生。

请注意,浏览器与eval的工作方式不一致,这就是您看到浏览器差异的原因。