-
boson-proto-proto是person?还没有理解查看全部
-
WINDOW/IFRAME 对象类型检测不能使用instanceof查看全部
-
null undefined string number boolean object +: 加法运算符、数字转换符、字符连接 总归要尝试全部可能计算一个结果出来的,字符串+数字结果总是字符串,不管左右; -:取反运算符(直接转换,不会进行parseInt操作)、减法运算符,作为减法运算符时会尝试把左右操作数都转换为数字,失败时返回NaN ===:严格相等,要求类型相同且值相同 ==:类型不一定相等,不等时会做类型转换 常见的几种: null == undefined true; number == string 转为number boolean==? 转为number(然后有例外是:类似undefined、字符串(比如"a")、非空数组([1,2])、任意 函数(function(){})之类转换为number的值为NaN的 和true、false以及其他任何值都不相等;另外一个就是nullz转换为数字 是0,但是true==null 和 false==null的返回值都是false) object ==number/string? 转为基础类型,转String优先调用tostring方法,转为数字优先调用valueof查看全部
-
1. 如果有函数声明符var的话,语句不返回,否则语句的值作为整个表达式的值 2. var a="abc"(或者);a.length;a.m = 5;之后不能正常调用,属性用完就销毁了查看全部
-
typeof instanceof Object.protptype.toString查看全部
-
特殊运算符: 1:条件运算符 ?: var val=true?1:2;//val=1 2:逗号运算符, var val=(1,2,3);//val3 3:delete运算符,删除对象的属性 var obj={x:1}; obj.x;//1 delete obj.x; obj.x//undefined 注意:(从IE9开始)对于对象的属性不是所有都可以delete掉的,等configurable的属性为true才可以删除掉对应的属性 var obj={}; Object.defineProperty(obj,'x',{configurable:false,value:1}); delete obj.x;//false obj.x;//1 4:in运算符 window.x=1; 'x' in window;//true 5:instanceof /typeof运算符 {}instanceof Object //true 基于原型连来判断是不是同一种类型的对象 typeof 100==='number'//true 返回一个字符串,来判断原始类型和函数类型的 6:new 运算符 用于创建对象 function Foo(){} Foo.prototype.x=1; var obj= new Foo(); obj.x;//1 obj.hasOwnProperty('x');//false 判断这个属性是不是对象本身上的 obj._proto_.hasOwnProperty('x');//true 判断这个属性是不是对象的原型连上面的 7:this 运算符 (比较重要和特殊) this;//window(浏览器) var obj={func:function(){return this;}}; obj.func();//obj 8:void 运算符 ,一元运算符,无论后面的操作数是多少都会返回一个undefined void 0 //undefined void(0)//undefined查看全部
-
原型链查看全部
-
严格模式下要注意的地方!查看全部
-
严格模式!查看全部
-
严格模式下: 1:不能使用with 2:变量不声明不能赋值(ReferenceError) 3:arguments变为参数的静态副本 4:delete参数、函数名报错 5:delete不可配置的属性也会报错 6:对象的字面重复属性名报错 7:禁止八进制的字面量 8:eval arguments变为关键字,不能够作为变量或函数名 9:eval对立的作用域查看全部
-
严格模式,要求较多,较严!查看全部
-
with可以修改当前对象的作用域,这个用的少!他会隐式的笤俑对应的对象,这样不好,不建议使用!查看全部
-
使用switch的注意点!查看全部
-
for...in的注意点!查看全部
-
函数声明和函数表达式的区别查看全部
举报
0/150
提交
取消