2012-09-01 31 views
2

在下面的代碼,我沒有使用任何「有說法」,但是當我設置的斷點,它給我的錯誤:爲什麼我得到這個語句的語法錯誤,但我實際上沒有使用任何?

SyntaxError: 'with' statements are not valid in strict mode

(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); 
}()); 

這是如此討厭。

+0

我沒有得到在Chrome中,http://jsfiddle.net/Fe5CZ/錯誤。 –

+0

順便說一句我正在使用safari 6.0 – mko

+0

OS X Lion上Safari 5沒有問題。 –

回答

1

這似乎是一個已知的問題與Safari瀏覽器:https://bugs.webkit.org/show_bug.cgi?id=65829

重現錯誤,你只需要輸入任何代碼到控制檯,而停在一個斷點,而在嚴格的模式。

下面是錯誤報告的代碼:

(function(){ 
    "use strict"; 
    debugger; 
})(); 

所以,當你在斷點處,去到控制檯,然後輸入2+3(或任何表達式),你會得到錯誤。

enter image description here

相關問題