js--Object.prototype下的方法介紹和使用
阿新 • • 發佈:2018-12-09
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 方法。 |