首先讨论的范围是在浏览器端的javascript
- var x = 2;
- y = 3;
- console.log(x); //2
- console.log(y); //3
- console.log(window.x);//2
- console.log(window.y);//3
- delete x; //false
- delete y; //true
- Object.getOwnPropertyDescriptor(window, 'x'); //Object {value: 2, writable: true, enumerable: true, configurable: false}
- Object.getOwnPropertyDescriptor(window, 'y');//Object {value: 3, writable: true, enumerable: true, configurable: true}
还有的区别是:
- alert(a);var a = 2; //undefined
- alert(a);a = 2; //ReferenceError: a is not defined