var test = function() {
'use strict';
var mapNames = {
'name': 'City Name:',
'coord.lat': 'Latitute:'
};
for (var key in mapNames) {
var names;
if (mapNames[key]) {
name = mapNames[key];
} else {
name = key;
}
}
console.log(name);
}
test();
Trong đoạn mã trên, tôi đã nhầm lẫn bằng cách khai báo biến names
và sử dụng name
thay thế. Tôi nghĩ rằng chế độ 'nghiêm ngặt' sẽ bắt được nó nhưng nó thì không. Điều này không nên ném một lỗi trong trường hợp này?Chế độ nghiêm ngặt của JavaScript không hoạt động như mong đợi?
không nên "sử dụng nghiêm ngặt" 'ngăn chặn chính xác điều đó? –
@JanDvorak '" sử dụng nghiêm ngặt "' sẽ ngăn chặn việc xác định các biến toàn cầu mới, ở đây chúng ta đang thực hiện một phép gán cho _an biến hiện tại, nghĩ về nó như 'tên' nằm trong phạm vi toàn cục, như' window.Blob', 'window. console' và như vậy. –
ah, trình duyệt đã cung cấp một biến với tên đó. Chúng ta có thể có một chế độ siêu nghiêm ngặt nơi không thể truy cập hình cầu theo tên? :-) –