js-Object.create()

Object.create() 是用來創(chuàng)建一個指定原型對象的對象。

語法
Object.create(prototype, descriptors)
  • 參數(shù)
    prototype:要用作原型的對象,可以為 null
    descriptors(可選):包含一個或多個屬性描述符的 JavaScript 對象
返回值

返回的是一個指定原型對象的對象。

示例1
var obj = {a:1};
var o = Object.create(obj);
console.log(o);
輸出結(jié)果1

新創(chuàng)建的對象o是一個以obj為原型對象的對象。

示例2
var obj = {a:1};
var o = Object.create(null, {
    name:{
        value:"lily",
        enumerable: true
    },
    age:{
        value:15,
        enumerable: true
    }
});
console.log(o);
輸出結(jié)果2

新創(chuàng)建的對象o是一個具有name和age兩個屬性的對象。

兼容

Object.create()是ES5定義的,也存在兼容性問題,IE6-8都不兼容可以這樣處理兼容問題:

function createObj(obj){
    if(Object.create){
        return Object.create(obj);
    }else{
        function Fn(){};
        Fn.prototype = obj;
        return new Fn();
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,659評論 19 139
  • 博客內(nèi)容:什么是面向?qū)ο鬄槭裁匆嫦驅(qū)ο竺嫦驅(qū)ο缶幊痰奶匦院驮瓌t理解對象屬性創(chuàng)建對象繼承 什么是面向?qū)ο?面向?qū)ο?..
    _Dot912閱讀 1,538評論 3 12
  • 大學(xué)是用來修煉自身的,充分利用這四年,使自己變的更好,等待未來的風(fēng)景,未來的人。
    靈怡珊珊閱讀 194評論 0 0

友情鏈接更多精彩內(nèi)容