摘要:創(chuàng)建實例對象構(gòu)造函數(shù)作為模板,可以生成實例對象。但是,有時拿不到構(gòu)造函數(shù),只能拿到一個現(xiàn)有的對象。張三張三張三上面代碼中,對象是的模板,后者繼承了前者的屬性和方法。的詳細介紹,請看后面的相關章節(jié)。
new.target
函數(shù)內(nèi)部可以使用new.target屬性。如果當前函數(shù)是new命令調(diào)用,new.target指向當前函數(shù),否則為undefined。
function f() {
console.log(new.target === f);
}
f() // false
new f() // true
Object.create() 創(chuàng)建實例對象
構(gòu)造函數(shù)作為模板,可以生成實例對象。但是,有時拿不到構(gòu)造函數(shù),只能拿到一個現(xiàn)有的對象。我們希望以這個現(xiàn)有的對象作為模板,生成新的實例對象,這時就可以使用Object.create()方法。
var person1 = {
name: "張三",
age: 38,
greeting: function() {
console.log("Hi! I"m " + this.name + ".");
}
};
var person2 = Object.create(person1);
person2.name // 張三
person2.greeting() // Hi! I"m 張三.
上面代碼中,對象person1是person2的模板,后者繼承了前者的屬性和方法。
Object.create()的詳細介紹,請看后面的相關章節(jié)。
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/105693.html
摘要:但是,下面這幾種用法,都會改變的指向。情況一情況二情況三上面代碼中,就是一個值。等同于上面代碼中,是多層對象內(nèi)部的一個方法。為求簡便,將其賦值給變量,結(jié)果調(diào)用時,指向了頂層對象。 var obj ={ foo: function () { console.log(this); }}; obj.foo() // obj上面代碼中,obj.foo方法執(zhí)行時,它內(nèi)部的this指向obj。但...
摘要:但是,下面這幾種用法,都會改變的指向。情況一情況二情況三上面代碼中,就是一個值。等同于上面代碼中,是多層對象內(nèi)部的一個方法。為求簡便,將其賦值給變量,結(jié)果調(diào)用時,指向了頂層對象。 var obj ={ foo: function () { console.log(this); }}; obj.foo() // obj上面代碼中,obj.foo方法執(zhí)行時,它內(nèi)部的this指向obj。但...
摘要:一一些閑話作為一個寫靜態(tài)的切圖仔,其實日常工作中根本用不上瀑布流這種小清新,畢竟營銷頁面都是要求搶眼吸睛高大上文案爸爸說啥都對。昨上午閑著沒事看到別人寫的瀑布流的帖子,覺得很好玩的樣子,然后決定上午就寫一個試試。。。 一、一些閑話 作為一個寫靜態(tài)的切圖仔,其實日常工作中根本用不上瀑布流這種小清新,畢竟營銷頁面都是要求 搶眼__、__吸睛__、 __高大上 (文案爸爸說啥都對)。 昨上...
閱讀 3015·2021-11-24 10:22
閱讀 3061·2021-11-23 10:10
閱讀 1370·2021-09-28 09:35
閱讀 1763·2019-08-29 13:16
閱讀 1405·2019-08-26 13:29
閱讀 2801·2019-08-26 10:27
閱讀 692·2019-08-26 10:09
閱讀 1456·2019-08-23 18:05