国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript中使用Object.create()創建對象介紹

2019-11-20 13:33:25
字體:
來源:轉載
供稿:網友

對于對象的創建,除了使用字面量和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);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 隆安县| 张北县| 巴马| 黄陵县| 睢宁县| 茶陵县| 泰顺县| 堆龙德庆县| 郁南县| 滕州市| 佛坪县| 措美县| 博客| 达拉特旗| 雷山县| 贡嘎县| 衡阳县| 塘沽区| 聂拉木县| 兴仁县| 古田县| 呼伦贝尔市| 巴林左旗| 洛阳市| 金塔县| 固始县| 察雅县| 大宁县| 禹州市| 镇安县| 得荣县| 黎城县| 通海县| 临泽县| 申扎县| 佛山市| 法库县| 松滋市| 三亚市| 永寿县| 雅安市|