亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時(shí)間:2014年12月30日 09:47:59   投稿:junjie  
這篇文章主要介紹了JavaScript中使用Object.create()創(chuàng)建對象介紹,本文先是講解了語法,然后給出了創(chuàng)建實(shí)例,需要的朋友可以參考下

對于對象的創(chuàng)建,除了使用字面量和new操作符,在ECMAScript 5標(biāo)準(zhǔn)中,還可以使用Object.create()來進(jìn)行。Object.create()函數(shù)接受2個(gè)對象作為參數(shù):第一個(gè)對象是必需的,表示所創(chuàng)建對象的prototype;第二個(gè)對象是可選的,用于定義所創(chuàng)建對象的各個(gè)屬性(比如,writable、enumerable)。

復(fù)制代碼 代碼如下:

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作為第一個(gè)參數(shù)調(diào)用Object.create()將生成一個(gè)沒有prototype的對象,該對象將不會(huì)具有任何基本的Object屬性(比如,由于沒有toString()方法,對這個(gè)對象使用+操作符會(huì)拋出異常):

復(fù)制代碼 代碼如下:

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

對于僅支持ECMAScript 3標(biāo)準(zhǔn)的瀏覽器,可以用Douglas Crockford的方法來進(jìn)行Object.create()操作:

復(fù)制代碼 代碼如下:

if (typeof Object.create !== 'function') {
    Object.create = function (o) {
        function F() {}
        F.prototype = o;
        return new F();
    };
}
newObject = Object.create(oldObject);

相關(guān)文章

最新評論