-
object.defineProperty查看全部
-
var a = b = 1; 其中 b 是隐式地创建了一个全局变量查看全部
-
如果直接写 {a:1,b:2} 会报错,以{ 开头会被认为是一个块 所以需要把{a:1,b:2}赋值给o ,或者外面再加一个{}查看全部
-
void 返回 undefined查看全部
-
var obj={x:1,y:2}; obj.x;//1 obj["y"];//2 var yz=obj.y.z;TypeError if(obj.y.z){ yz=obj.y.z; } var yz=obj&&obj.y&&obj.y.z;//obj.y.z不存在返回undefined delete obj.x;//返回true delete obj.y.z;//返回true delete obj.prototype;//false var descriptor = object.getOwnPropertyDescriptor(Obj,'prototype'); descriptor.configurable;//false查看全部
-
IE9+以下实现bind方法。查看全部
-
this.x=9; var module={x:81,getX:function(){return this.x}}; module.getX(); var getX=module.getX;//相当于 var getX=function(){return this.x;} getX(); var boundGetX=getX.bind(module); boundGetX();查看全部
-
某个对象的属性的值是函数,那么函数里面的this指向的是这个对象查看全部
-
通过hasOwnProperty()判断属性到底是 对象上的 还是 对象的原型链上的查看全部
-
IE9 开始可以在对象上设置 configurable 标签,仅当 configurable = true 时,该属性才可以被 delete 掉。查看全部
-
逗号运算符 var val = (1,2,3); //val=3 每个从左到右,依次计算表达式的值,最后取最后一个值。查看全部
-
1、要取到“34”,throw new Error("343"),对应的用ex.message;throw "343",对应的用ex(这个好像有点问题) 2、try catch嵌套的时候,先执行try内层嵌套,内层按照try->catch->finally执行; 如果内层的异常被内层的catch处理掉了,那么外层(假设有catch)就不会处理内部的异常,反之,则外层catch会处理内层的异常。 throw异常,不一定只能在try语句中,catch中也行查看全部
-
这种情况,b居然会变成全局变量!!!查看全部
-
1、var val=(1,2,3);// val=3 逗号运算符, 少见。取最右边的数 2、delete obj.x;//delete运算符 var obj={x:1}; obj.x;//1 delete obj.x; obj.x; //undefined 从ie9开始, var obj={}; Object.defineProperty(obj, 'x', { configurable:false, //这个值只有设置为true的时候delete才能删除 value:1 }); delete obj.x; //false obj.x;//1查看全部
-
类型的判断范围,需要区分:String, Boolean, Number, undefined, null, 函数,日期, window 参考其他同学写的,开始根本不会写呀。和下面的有位同学的想法相似。不过我的复杂好多。 采集了两位同学的: 一位同学将类型存成数组,然后用了sort().join()方法后就可以直接对比类型了,这个排序方式好神奇啊;(原来这个同学用了个巧妙的方法,将类型转化成特定字符串,然后sort()进行排序,然后join()为一个字符串,就终极比较) 另一位同学的判断类型的Object.prototype.toString.apply()的这个方法更牛掰,居然可以直接得出具体类型!!!(原来是自己没有认真听课。。。这个方法确实不错,就是在IE6-8上,对null分辨不出来,只能确定null是对象)查看全部
举报
0/150
提交
取消