javascript中Object使用详解(2)


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;
Object.prototype.isPrototypeOf(Function.prototype) //true
console.log("=====================================================")

//12
//Object.isSealed(o)
//判断一个对象的属性是否可添加或删除
//参数:
//o:待检查的对象
//如果o是封闭的则为true,否则为false.
//如果不可以向一个对象添加新的(非继承)属性,并且现有的(非继承)属性不可删除,则是封闭的。
//封闭一个对象常用的方法是Object.seal(o) 或 Object.freeze(o)

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

//13
//object.keys(o)
//返回自由的可枚举属性名
//参数:
//o:一个对象

复制代码 代码如下:


console.log(Object.keys({x:1,y:2}) ) //=>[x,y]
console.log("=====================================================")

//14
//Object.preventExtensions(o)
//禁止在一个对象上添加新的属性
//参数:
// o:待设置可扩展的对象
//一旦设为不可不可扩展,它就再也不能改为可扩展

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


//15
//object.propertyIsEnumerable(propname)
//检测某个属性是否在for/in 中 循环可见
//参数
//propname:包含对象的指定属性名的一个字符串
//如果对象有一个名为propname的非继承属性,并且该属性可以枚举,则返回true.

复制代码 代码如下:


var o15 = new Object();
o15.x = 15;
o15.propertyIsEnumerable("x"); //true;
o15.propertyIsEnumerable("y"); //false;
o15.propertyIsEnumerable("toString"); //false;
console.log("=====================================================")

//16
//Object.seal(o)
//阻止添加或删除对象的属性
//参数
//o:待封闭的对象
//返回处于封闭状态的参数对象o

//17
//Object.toLocaleString()
//返回对象本地的本地化字符串标示
//Object类提供的默认的toLocaleString()方法只是简单的调用toString()方法。
//不过要注意,其他类(Array、Date、Number等)都各自定义自己的这个方法的版本。用于执行本地化字符串转换。定义自己的的类时,可能也需要覆盖这个方法。

//18
//object.toString()
//定义一个对象的字符串表示形式
//在javascript程序中一般不会经常显示的调用toString()方法。一般情况下,在对象中定义这个方法,系统会在需要时自动调用它以便将该对象装换成字符串。

//19
//Object.valueOf()
//给定对象的原始值
//返回 与指定对象关联的原始值,如果存在这样一个值的话,如果没有与改对象关联的值,则返回对象本身

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgxygj.html