Javascript 为什么我得到with语句的这个语法错误,但是我';我实际上没用过?
在下面的代码中,我没有使用任何“with语句”,但当我设置断点时,它给出了错误:Javascript 为什么我得到with语句的这个语法错误,但是我';我实际上没用过?,javascript,Javascript,在下面的代码中,我没有使用任何“with语句”,但当我设置断点时,它给出了错误: SyntaxError:'with'语句在严格模式下无效 (function () { 'use strict'; function addItem() { var orderListElement, newLi, childCount; orderListElement = document.getElementById('orderList');
SyntaxError:'with'语句在严格模式下无效
(function () {
'use strict';
function addItem() {
var orderListElement, newLi, childCount;
orderListElement = document.getElementById('orderList');
newLi = document.createElement('li');
childCount = orderListElement.children.length;
newLi.textContent = 'new item ';
orderListElement.appendChild(newLi);
}
function deleteItem() {
var orderListElement, lastLi;
orderListElement = document.getElementById('orderList');
lastLi = orderListElement.lastChild;
orderListElement.removeChild(lastLi);
}
function registHandler() {
var addItemButton, deleteItemButton;
addItemButton = document.getElementById('addItem');
deleteItemButton = document.getElementById('deleteItem');
addItemButton.addEventListener('click', addItem, false);
deleteItemButton.addEventListener('click', deleteItem, false);
}
window.addEventListener('load', registHandler, false);
}());
这太烦人了。这似乎是Safari的一个已知问题: 要再现错误,只需在断点处停止并处于严格模式时在控制台中键入任何代码 以下是错误报告中的代码:
(function(){
"use strict";
debugger;
})();
因此,当您在断点处时,转到控制台并键入2+3
(或任何表达式),您将得到错误
我在Chrome中没有发现错误。顺便说一句,我使用的是safari 6.0,在OS X Lion上的safari 5中没有问题。页面上还有其他JavaScript代码吗?您是否使用旧版本的文件进行缓存?刷新页面并不保证您有未缓存的文件。