-
var obj = new foo(); obj.z; //1 obj.z = 10; obj.z;// still 1 ----- 如果对象的原型链上有 z 属性,且z 属性有 get/set 方法,则会直接在obj 上添加 z 属性,而是使用 obj的原型链上的get/set 方法。 此种情况下希望在 obj 上添加 z 属性,需要使用defineProperty()方法,此方法默认所有标签为false 若以后需要delete obj 上的z 属性,需把configurable:true查看全部
-
val = +val; //将val 转化为数字类型 throw new Error() //抛出异常查看全部
-
man.age 会自动调用 get age()方法 man.age = 100 会自动调用 set age() 方法查看全部
-
for-in 属性时使用 hasOwnProperty()过滤原型链上的属性查看全部
-
当 propertyIsEnumerabel 返回 false 时,该属性不可遍历。 默认创建的属性,所有标签都是true 的; 而使用defineProperty()创建的则默认是 false ---------- if(cat.legs != undefined){ //表示既不等于undefined 也不等于 null }查看全部
-
"toString" in cat; //true查看全部
-
delete 标签返回的 true 并不表示该操作生效,仅表示该对象上没有需要被delete 的属性了。 可以通过 Object.getOwnPropertyDescriptor(Object,'prototype') 来获取Object 对象的 prototype描述。查看全部
-
var yz = obj && obj.y && obj.y.z;查看全部
-
可以使用Object.creat() 方法创建一个对象。 使用字面量创建的对象会有Object.prototype 而null 并没有Object.prototype var obj = Object.create(null); obj.toString //undefined查看全部
-
给对象赋值时,并不会去查找原型链,仅在该对象内查找,有则覆盖,无则创建。 obj.z = undefined; 并不一定代表 obj 上没有z属性,可能是有,其值为undefined。 如果想继续使用原型链上的z ,需要delete obj.z 。查看全部
-
使用 字面量 创建的对象 或 函数对象 实际上它也是有原型的,它的原型指向Object.prototype,而Object.prototype 指向null 从而构成一个完整的原型链。查看全部
-
这样通过new 去构造的对象,特点是他的原型会指向构造系的prototype属性。查看全部
-
二元数组,稀散数组。var arr=[, , ]查看全部
-
sss查看全部
-
get age(val) set age(val)查看全部
举报
0/150
提交
取消