在ECMAScript中,Object類型是所有它的實例的基礎,換句話說,Object類型所具有的任何屬性和方法也同樣存在於更具體的對象中。
Object的每個實例都具有下列的屬性和方法:
- [x] constructor: 構造函數
- [x] hasOwnProperty(propertyName)
用於檢查給定的屬性在當前對象實例(而不是實例的原型)中是否存在。
- [x] isPrototypeOf(Object):
用於檢查其原型鏈的對象是否存在於指定對象的實例中,是則返回true,否則返回false。
例如:
var a = {}
function Person() {}
var p1 = new Person() // 繼承自原來的原型,但現在已經無法訪問
var Person.prototype = a
var p2 = new Person() // 繼承a
console.log(a.isPrototypeOf(p1)) // false a是不是p1的原型
console.log(a.isPrototypeOf(p2)) // true a是不是p2的原型
console.log(Object.prototype.isPrototypeOf(p1)) // true
console.log(Object.prototype.isPrototypeOf(p2)) // true
- [x] propertyIsEnumerable(propertyName)
用於檢查給定的屬性是否可以用 for-in 語句進行枚舉。
- [x] toLocaleString()
返回對象的字符串表示,該字符串與執行環境的地區對應。
- [x] toString()
返回對象的字符串表示。
- [x] valueOf()
返回對象的字符串、數值、布爾值表示。通常與toString()方法的返回值相同。