-
delete 可以删除对象的属性,删除不了全局变量和局部变量,隐士声明全局变量和在eval 中声明的变量可以删除查看全部
-
注意:使用 for in 遍历属性时,也会将原型链上的属性遍历出来,并且遍历的顺序不确定查看全部
-
通过原型链的继承,使用原型上的属性,又不会修改掉原型的属性查看全部
-
创建对象 2. new / 原型链 --> 创建的对象的原型([[proto]])指向foo.prototype查看全部
-
对象创建 1. 字面量创建 --> var obj = {x:1, y:2};查看全部
-
obj 的原型指向构造器的prototype属性,即foo.prototype; obj.__proto__.z = 3;查看全部
-
属性标签查看全部
-
定义多个属性查看全部
-
严格模式查看全部
-
严格模式下查看全部
-
arguments变为参数的静态副本查看全部
-
顺序不确定,请注意查看全部
-
注意执行顺序,会先执行内部finally再跳到外部的catch查看全部
-
var a = b = 1;这样的赋值b会被隐式的定义为全局变量查看全部
-
alert(x);//function /*变量对象VO,它用于存储执行上下文中的变量,函数声明,函数参数。 1.在变量声明阶段,VO中有function x,变量var x。变量var a和b。值为undefined。 变量声明冲突会忽略,函数声明冲突会报错。 所以在变量声明阶段,alert(x)返回function x(){} */ /* 2.到了代码执行阶段,执行var x=10,这里进行赋值。 所以再alert(x),返回10. x=20,又进行赋值,值会覆盖。 function x(){}在代码执行阶段会被忽略,因为提前了。 再一次alert(x),值为20 */ var x = 10; alert(x);//10 x = 20; function x(){} alert(x);//20 /* 在if else中,肯定是true,所以执行 var a=1; else语句没有被执行 但是js没有块级作用域,变量a和b的声明都会被前置。 所以alert(b),会返回undefined,而不是报错找不到对象。 */ if(true){ var a = 1; } else{ var b = true; } alert(a); //1 alert(b); //undefined查看全部
举报
0/150
提交
取消