-
函数声明发生冲突覆盖,变量声明冲突会忽略。
查看全部 -
bind
查看全部 -
object原型链。解释了为什么大多数对象都有toString方法
查看全部 -
属性枚举
查看全部 -
读写属性时要注意的地方
查看全部 -
这一章 学完对象再看一遍
查看全部 -
对象难搞,整容还好,原型真丑。
查看全部 -
查看全部
-
查看全部
-
查看全部
-
var obj = {x:1} Object.getOwnPropertyDescriptor(obj,"x");//显示当前属性x下的所以标签 //Object {value: 1, writable: true, enumerable: true, configurable: true} 设置属性标签权限 Object.defineProperty(pro,"name",{ value:"mimi", configurable:false, writable:false, enumerable:true }) Object.defineProperties(pro,{ age:{value:"12",writable:true,enumerable:true}, like:{value:"cat",enumerable:true} })
查看全部 -
var man={
weibo:'@bosn',
$age:null,
get age(){
if(this.$age==undefined){
return new Date().getFullYear() - 1988;
}else{
return this.$age;
}
},
set age(val){
val=+val;
if(!isNaN(val)&&val>0&&val<150){
this.$age=+val;
}else{
throw new Error('incorrect val='+val);
}
}
}
console.log(man.age);//27
man.age=100;
console.log(man.age);//100
man.age='abc';//error:Incorrect val=NaN
Object.defineProperty(obj,'z',{value:100,configurable:true});
obj.z;//100
delete obj.z;
obj.z;//back to 1
查看全部 -
var o={x:1,y:2,z:3};
var obj=Object.Create(o);
obj.a=4;
for(key in obj){
console.log(key);//a,x,y,z
}
var obj2=Object.Create(o);
obj2.a=4;
for(key in obj2){
if(obj2.hasOwnProerty(key)){
console.log(key);//a
}
}
查看全部 -
var yz;
if(obj.y) {
yz=obj.y.z;
}
var yz = obj && obj.y && obj.y.z;
//删除
var p={age:23,title:'fe'};
delete p.age;
delete p['title'];
p.age;//undefined
delete p.age;
delete Object.prototype;//false
var descriptor = Object.getOwnPropertyDescriptor(Object,'prototype');
descriptor.configurable;//false
//属性检测
Object.defineProperty(cat,'price',{enumerable:false,value:1000});
cat.propertyIsEnumerable('price');//false
cat.hasOwnProperty('price');//true
if(cat && cat.legs){
cat.legs*=2;
}
if(cat.legs != undefined){
//!==undefined,or,!==null
}
if(cat.legs !== undefined){
//only if cat.legs is not undefined
}
查看全部 -
for(p int obj) {
console.log(obj[p]);
}
查看全部
举报