hasOwnProperty
hasOwnProperty()
方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性
不考虑继承里的属性。
o = new Object();
o.prop = 'exists';
o.hasOwnProperty('prop'); // 返回 true
o.hasOwnProperty('toString'); // 返回 false
o.hasOwnProperty('hasOwnProperty'); // 返回 false
isPrototypeOf
方法允许你检查一个对象是否存在于另一个对象的原型链上。
传入baz对象 检查是否有Baz.prototype 存在 就返回 true.
function Foo() {}
function Bar() {}
function Baz() {}
Bar.prototype = Object.create(Foo.prototype);
Baz.prototype = Object.create(Bar.prototype);
var baz = new Baz();
console.log(Baz.prototype.isPrototypeOf(baz)); // true
console.log(Bar.prototype.isPrototypeOf(baz)); // true
console.log(Foo.prototype.isPrototypeOf(baz)); // true
console.log(Object.prototype.isPrototypeOf(baz)); // true
propertyIsEnumerable
propertyIsEnumerable()是用来检测属性是否属于某个对象的,如果检测到了,返回true,否则返回false.
1.这个属性必须属于实例的,并且不属于原型.
2.这个属性必须是可枚举的,也就是自定义的属性,可以通过for..in循环出来的.
只要符合上面两个要求,就会返回true;
function MyObject() {
this.name = "我是实例的属性";
}
var obj = new MyObject();
alert(obj.propertyIsEnumerable("name"));//true
MyObject.prototype.say = "我是原型的属性";
alert(obj.propertyIsEnumerable("say")); //false
for (var i in obj) {
alert(i);//name,age
}
toLocaleString
转换成字符串
toString
转换成字符串 两者在时间的转换上有区别
valueOf
不用管 其他的内置对象重新覆盖了这个方法。
Array | 返回数组对象本身。 |
Boolean | 布尔值。 |
Date | 存储的时间是从 1970 年 1 月 1 日午夜开始计的毫秒数 UTC。 |
Function | 函数本身。 |
Number | 数字值。 |
Object | 对象本身。这是默认情况。 |
String | 字符串值。 |
Math 和 Error 对象没有 valueOf 方法。 |