所以我的页面上有以下一行 Javascript:
form.display.value = 'Error';
其中显示是我页面上文本类型的输入:
<input type="text" id="calcDisplay" name="display" maxlength="25">
在 Chrome 中,这可以很好地使输入元素的值为“Error”。但在 IE 10 和 Firefox 中输入的内容如下:
function Error() { [native code]}
谁能解释一下这里发生了什么以及为什么?
更新:这是正在调用的实际函数:
function compute(form) {
try {
form.display.value = eval(form.display.value);
} catch(e) {
form.display.value = 'Error';
}
}
这是它的视频,这样你们就不会认为我疯了:
最佳答案
当值 Error
已在输入中时,此行:
form.display.value = eval(form.display.value);
...将评估您之前定义的函数Error
。因此,这一定是在第二次调用您的 compute
函数时发生的。
请注意,浏览器与 eval
的工作方式不一致,这就是您看到浏览器差异的原因。
关于javascript - 值为 "Error"的字符串是否是某种保留字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18666315/