亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Node.js new 、 prototype 與 __proto__

BothEyes1993 / 1918人閱讀

摘要:一構(gòu)造一個(gè)對(duì)象相當(dāng)于中的有參構(gòu)造函數(shù)二對(duì)象實(shí)例隱式傳遞指針女女三與總結(jié)與中每個(gè)對(duì)象都有一個(gè)屬性建立兩個(gè)對(duì)象之間的關(guān)聯(lián)一個(gè)對(duì)象可以使

一、構(gòu)造一個(gè)Person對(duì)象(相當(dāng)于Java中的有參構(gòu)造函數(shù))
function person(name, sex, age, addr, salary) {
    this.name = name;
    this.sex = sex;
    this.age = age;
    this.addr = addr;
    this.salary = salary;
}
二、對(duì)象實(shí)例隱式傳遞this指針
person.prototype.func_pro=function () {
    console.log(this);
};
let Sakura =new person("Sakura","女",16,"FateStayNight",10000000000);
let Illyasviel= new person("Illyasviel ","女",14,"FateStayNight",9999999999);
Sakura.func_pro();
Illyasviel.func_pro();
console.log("-------------------------------------------------------" + "

");
三、new 與 prototype

1、總結(jié):

console.log("new 與 prototype");
//1、let variable ={};
//2、nodejs中每個(gè)對(duì)象都有一個(gè)__proto__屬性
//   建立兩個(gè)對(duì)象之間的關(guān)聯(lián):
//   一個(gè)對(duì)象可以使用__proto__關(guān)聯(lián)另外一個(gè)對(duì)象
//    __proto__(對(duì)象的內(nèi)部原型的引用): prototype(對(duì)象的原型) 淺拷貝
//    __proto__與prototype指向同一個(gè)對(duì)象的引用
//3、 對(duì)象實(shí)例作為this指針的指向 傳遞給后面的函數(shù)
//4、 調(diào)用這個(gè)函數(shù)

2、可以通過(guò)prototype.key=value 來(lái)擴(kuò)充對(duì)象Elf

function Elf(name) {
    this.name =name;
    console.log("Elf	"+name);
}
console.log("可以通過(guò)prototype.key=value 來(lái)擴(kuò)充對(duì)象Elf");
Elf.prototype.love=function () {
    console.log("%s love "DATE A LIVE!"", this.name);
};

let Yuzuru = new Elf("Yuzuru");
let Kaguya = new Elf("Kaguya");

Yuzuru.love();
Kaguya.love();

console.log("-------------------------------------------------------" + "

");

3、 實(shí)例.__proto__ 與 方法.prototype指向 同一個(gè)對(duì)象的引用

console.log("實(shí)例.__proto__ 與 方法.prototype指向 同一個(gè)對(duì)象的引用");
console.log(Yuzuru.__proto__);
console.log(Elf.prototype);

console.log("-------------------------------------------------------" + "

");

let func_data =function(){
    console.log("func_data");
};

func_data.prototype.func_test=function(){
    console.log("func_test",this);
};// 實(shí)例.__proto__ 與 方法.prototype指向 同一個(gè)對(duì)象的引用
console.log("實(shí)例.__proto__ 與 方法.prototype指向 同一個(gè)對(duì)象的引用");
console.log(Yuzuru.__proto__);
console.log(Elf.prototype);

console.log("-------------------------------------------------------" + "

");

let func_data =function(){
    console.log("func_data");
};

func_data.prototype.func_test=function(){
    console.log("func_test",this);
};

4、實(shí)例.__proto__ 與 方法.prototype 分別屬于2個(gè)不同的字典表{}

console.log("實(shí)例.__proto__ 與 方法.prototype指向 分別屬于2個(gè)不同的字典表{}");
let data =new func_data();
data.name="Innocence";
data.__proto__.func_test();
data.func_test();

console.log("-------------------------------------------------------" + "

");

5、可以將對(duì)象實(shí)例看做為一張字典表

//可以將data看做1張表
console.log("可以將data看做1張表");
//隱式調(diào)用this
data.func_test();
//顯示調(diào)用this 將data作為this傳遞給data._proto_對(duì)象里的函數(shù)test_func
data.__proto__.func_test.call(data);

console.log("-------------------------------------------------------" + "

");

6、調(diào)用取值的順序

data.func_test=function () {
    console.log("new func_test",this);
};

data.func_test();
//data.key_func 首先會(huì)到對(duì)象實(shí)例的表里搜索是否有沒(méi)有這樣的key  若沒(méi)有再到其__proto__里面搜索

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/101154.html

相關(guān)文章

  • Node.js 中 Java類的定義,set、get方法,類的實(shí)例化,繼承的實(shí)現(xiàn),方法重寫(xiě):學(xué)習(xí)心得

    摘要:一實(shí)體類的定義定義類有參構(gòu)造方法二定義方法以設(shè)置實(shí)體類的屬性值方法三定義方法以獲取實(shí)體類的屬性值方法四構(gòu)造實(shí)例對(duì)象使用全參構(gòu)造方法獲取實(shí)例對(duì)象桐人男控制臺(tái)打印實(shí)例 一、Node.js 實(shí)體類 的定義 //定義類Person 有參構(gòu)造方法 function Person(name, sex, age, addr, salary) { this.name = name; t...

    fjcgreat 評(píng)論0 收藏0
  • JS基礎(chǔ)】對(duì)象繼承的定義實(shí)現(xiàn)

    簡(jiǎn)介 類的概念,本身在javascript的語(yǔ)言上是不存在的, 但由于最近人們使用ES6語(yǔ)法,TS語(yǔ)言上都會(huì)有的class extends 繼承的概念, 下面我們需要使用原生js, 結(jié)合原型鏈,實(shí)現(xiàn)類的 繼承,多態(tài) ES5實(shí)現(xiàn)繼承 原型繼承 借用構(gòu)造函數(shù)繼承 mixin 復(fù)制繼承 寄生繼承 原型繼承方式 原型繼承, 主要利用對(duì)象的原型鏈 __proto__, 每一個(gè)對(duì)象都擁有__proto__...

    darry 評(píng)論0 收藏0
  • Node.js中的繼承

    摘要:借用構(gòu)造函數(shù)借助或使用構(gòu)造函數(shù)缺少函數(shù)復(fù)用原型鏈繼承使用指向?qū)ο笞宇悷o(wú)法給父類傳遞參數(shù)無(wú)法使用字面量添加新方法所有子類對(duì)象共享父類所有方法和屬性引用類型組合繼承借用構(gòu)造函數(shù)對(duì)實(shí)例屬性繼承對(duì)共享方法繼承會(huì)調(diào)用兩次父類構(gòu)造函數(shù)繼承 借用構(gòu)造函數(shù),借助call或apply,使用Superclass構(gòu)造函數(shù),缺少函數(shù)復(fù)用 function Superclass(name = default) ...

    fxp 評(píng)論0 收藏0
  • ECMAScript6標(biāo)準(zhǔn)入門(mén)(一)新增變量數(shù)據(jù)結(jié)構(gòu)

    摘要:一簡(jiǎn)介與的關(guān)系是的規(guī)格,是的一種實(shí)現(xiàn)另外的方言還有和轉(zhuǎn)碼器命令行環(huán)境安裝直接運(yùn)行代碼命令將轉(zhuǎn)換成命令瀏覽器環(huán)境加入,代碼用環(huán)境安裝,,根目錄建立文件加載為的一個(gè)鉤子設(shè)置完文件后,在應(yīng)用入口加入若有使用,等全局對(duì)象及上方法安裝 一、ECMAScript6 簡(jiǎn)介 (1) 與JavaScript的關(guān)系 ES是JS的規(guī)格,JS是ES的一種實(shí)現(xiàn)(另外的ECMAScript方言還有Jscript和...

    Tangpj 評(píng)論0 收藏0
  • JavaScript 進(jìn)階之深入理解數(shù)據(jù)雙向綁定

    摘要:當(dāng)我們的視圖和數(shù)據(jù)任何一方發(fā)生變化的時(shí)候,我們希望能夠通知對(duì)方也更新,這就是所謂的數(shù)據(jù)雙向綁定。返回值返回傳入函數(shù)的對(duì)象,即第一個(gè)參數(shù)該方法重點(diǎn)是描述,對(duì)象里目前存在的屬性描述符有兩種主要形式數(shù)據(jù)描述符和存取描述符。 前言 談起當(dāng)前前端最熱門(mén)的 js 框架,必少不了 Vue、React、Angular,對(duì)于大多數(shù)人來(lái)說(shuō),我們更多的是在使用框架,對(duì)于框架解決痛點(diǎn)背后使用的基本原理往往關(guān)注...

    sarva 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<