<
>

javascript中Object使用详解

2019-07-15 11:10:10 来源:易采站长站 作者:王振洲


数据属性的描述符:
{
value:任意javascript值,
writable: true|false,
enumerable: true|false,
configurable:true|false
}
访问器属性的描述符:
{
get: function 或 undefined :替换属性值
set: function 或 undefined :替换可写性
enumerable:true|false,
configurable:true|false
}
*/


var o5 = Object.getOwnPropertyDescriptor(obj,"c");
console.log(o5);
forEach(o5);
console.log("=====================================================")

//6
//Object.getOwnPropertyNames(o)
//返回非继承属性的名字
//参数:
//o:一个对象
//返回一个包含o的所有非继承属性的名字,包括哪些不可枚举的属性。{enumerable:false}


var o6 = Object.getOwnPropertyNames(obj);
console.log(o6);
console.log("=====================================================")

//7
//Object.getPrototypeOf(o)
//参数:
//o:一个对象
//返回一个对象的原型


var o7 =Object.getPrototypeOf(obj);
console.log(o7);
console.log("=====================================================")

//8
//Object.hasOwnProperty(propname);
//参数:
//propname包含对象的属性名的字符串
//检查一个属性是否是继承的
//返回true|false


console.log(obj.hasOwnProperty("x")); //=>false
console.log(obj.hasOwnProperty("z")); //=>true
console.log("=====================================================")

//9
//Object.isExtensible(o);
//判断某个对象上是否可以添加新属性
//参数:
//o:待检查可扩展性的对象
//返回 能添加为true|不能为false
//描述:所有的对象在创建的时候都是可扩展的,直到他们被传入 Object.preventExtensions(o) Object.seal(o) 或 Object.freeze(o);


console.log(Object.isExtensible(obj)); // =>true
//Object.preventExtensions(obj)//将它设置为不可扩展
//console.log(Object.isExtensible(obj)); //=>false
console.log("=====================================================")

//10
//Object.isFrozen(o)
//判断对象是否不可改变
//参数:
//o:待检查的对象
//如果o已冻结并不改变则为true;否则为false;


console.log("=====================================================")

//11
//object.isPrototypeOf(o)
//判断当前对象是否为另一个对象的原型
//参数:
//o:所有对象
//如果object是o的原型 则为true,如果o不是一个对象或者object不是o的原型 则为false.


var o = new Object();
Object.prototype.isPrototypeOf(o) // true
Array.prototype.isPrototypeOf([1,2]) //true;

暂时禁止评论

微信扫一扫

易采站长站微信账号