Khi chạy kịch bản sau đây trong Safari (với Thanh tra mở)Không thể kiểm tra biến phạm vi khi sử dụng chế độ nghiêm ngặt
window.onload = function() {
"use strict";
var x = 1;
debugger; // debugger will auto-break on this line
}
tôi nhận được lỗi sau khi yêu cầu x
trong giao diện điều khiển trong khi được trên breakpoint mà :
Error
message: "'with' statements are not valid in strict mode"
Xóa đường dây "use strict";
cho phép tôi truy cập x
từ bảng điều khiển trong khi ở điểm ngắt đó.
Cả hai lần x
được hiển thị bên dưới Scope Variables
trong thanh bên.
Tôi nghĩ rằng lỗi phải ở nơi khác; nó không xảy ra với tôi [sử dụng trang thử nghiệm này] (http://jsbin.com/acagon) trong Safari (Tôi không thể đặt điểm ngắt, nhưng tôi không nhận được bất kỳ lỗi nào và tôi nhận được kết quả mong đợi). Bạn có thể gửi một trường hợp thử nghiệm * hoàn chỉnh * sao chép vào câu hỏi (và lý tưởng là http://jsbin.com hoặc http://jsfiddle.net). –
Tôi không thể đặt ngón tay lên đó, nhưng có điều gì đó nói với tôi rằng bạn có một câu lệnh 'with' ở đâu đó trong mã của bạn ... Tôi hoàn toàn đoán ở đây, tất nhiên ... (Btw' with' statement throw in mã chế độ nghiêm ngặt.) –
bạn có 'with()' trong mã của mình ở một nơi khác không? với() không thích và nhiều người muốn nó ngừng hoạt động trong ECMAScript –