国产探花免费观看_亚洲丰满少妇自慰呻吟_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);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 崇明县| 青田县| 丘北县| 郓城县| 汝南县| 金昌市| 蒙山县| 屏山县| 滕州市| 斗六市| 重庆市| 孝昌县| 和硕县| 涟水县| 滕州市| 沾化县| 恩平市| 镇坪县| 嘉黎县| 平乐县| 庄浪县| 壤塘县| 巴东县| 招远市| 嘉义市| 宝兴县| 邵武市| 延庆县| 洪江市| 七台河市| 称多县| 上蔡县| 桐梓县| 扎赉特旗| 原阳县| 当阳市| 财经| 平武县| 义马市| 佛教| 阿拉善左旗|