dụ:Tại sao tôi không thể xóa các giá trị javascript được khai báo bằng var?
x = "Hello";
delete x; // returns true, x is removed
var y = "Hello";
delete y; // returns false, y is not removed
Tôi không quan tâm đến việc Làm thế nào điều này xảy ra, tôi muốn biết tại sao ngôn ngữ có tính năng này.
Vì vậy, sau đó tôi có thể nhìn thấy nó giống như loại bỏ Thuộc tính khỏi đối tượng giống như xóa Phần tử khỏi Mảng? – ProgrammerAtWork
Theo nghĩa nào đó, vâng. – JJJ
Chắc chắn. 'delete' loại bỏ một thuộc tính khỏi một đối tượng. Từ khóa 'var' gắn biến của bạn vào ngữ cảnh cục bộ hiện tại, trong khi khai báo mà không' var' ngầm gắn biến vào một đối tượng toàn cục, tức là 'cửa sổ'. Tuy nhiên, khi 'var' gắn vào' window' (ngữ cảnh gốc), 'delete' vẫn không hoạt động. – Powerslave