首頁 > web前端 > js教程 > JavaScript中使用Object.create()建立物件介紹_javascript技巧

JavaScript中使用Object.create()建立物件介紹_javascript技巧

WBOY
發布: 2016-05-16 16:23:07
原創
1467 人瀏覽過

對於物件的創建,除了使用字面量和new操作符,在ECMAScript 5標準中,還可以使用Object.create()來進行。 Object.create()函數接受2個物件作為參數:第一個物件是必要的,表示所建立物件的prototype;第二個物件是可選的,用於定義所建立物件的各個屬性(例如,writable 、enumerable)。

複製程式碼 程式碼如下:

var o = Object.create({x:1, y:7});
console.log(o);//Object {x=1, y=7}
console.log(o.__proto__);//Object {x=1, y=7}

將null作為第一個參數調用Object.create()將產生一個沒有prototype的對象,該對象將不會具有任何基本的Object屬性(比如,由於沒有toString()方法,對這個對象使用操作符會拋出異常):

複製程式碼 程式碼如下:

var o2 = Object.create(null);
console.log("It is " o2);//Type Error, can't convert o2 to primitive type

對於僅支援ECMAScript 3標準的瀏覽器,可以用Douglas Crockford的方法來進行Object.create()操作:

複製程式碼 程式碼如下:

if (typeof Object.create !== 'function') {
    Object.create = function (o) {
        function F() {}
        F.prototype = o;
        return new F();
    };
}
newObject = Object.create(oldObject);
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板