摘要:例例通過原型鏈來檢測對象所調(diào)用的方法是否存在,存在在哪個原型對象上除了在對象對象中存在外,其他方法都是通過原型鏈的方法在上找到并調(diào)用。
前言
學(xué)習(xí)了解JavaScript對象的繼承機(jī)制
JavaScript Object 概念Object是js的基本數(shù)據(jù)結(jié)構(gòu)的一種,屬于引用類型。
對象的創(chuàng)建方法對象字面量寫法
構(gòu)造函數(shù),通過構(gòu)造函數(shù)來創(chuàng)建對象實(shí)例
Object()構(gòu)造函數(shù)
create()方法
// 對象字面量 let person1 = {name: "jim"}; // 構(gòu)造函數(shù) function Person(name) { this.name = name; this.greeting = function() { console.log("hello my name is " + this.name); } } let person2 = new Person("Bob"); console.log(person2.name); console.log(person2.greeting()); // Object() 方法 let person3 = new Object(); person3.name = "kobe"; console.log(person3.name); person3 = new Object({ name: "kobe2", age: 22 }); console.log(person3.name); // create() 方法 類似構(gòu)造函數(shù) let person4 = Object.create(person3); person4.name = "kobe3"; console.log(person4.name,person3.name);對象屬性的訪問方式
點(diǎn)表示法
中括號表示法
let person = { name: "xiaofei", age: 20 } console.log(person.name); console.log(person["age"]);__proto__、[[prototype]]、prototype
JavaScript對象通過原型機(jī)制從其他對象繼承功能特性
每個對象有一個私有屬性[[prototype]],這個私有屬性持有一個連接到另一個稱為其prototype對象(原型對象)的鏈接。
__proto__是瀏覽器對ES語法[[prototype]]的實(shí)現(xiàn)api
prototype屬性指向的對象就是實(shí)例對象的原型對象即__proto__所指引的對象
原型鏈,原型對象也可能擁有原型,并從中繼承方法和屬性,一層一層、以此類推。這種關(guān)系常被稱為原型鏈 (prototype chain),它解釋了為何一個對象會擁有定義在其他對象中的屬性和方法。
例1
例2 通過原型鏈來檢測對象所調(diào)用的方法是否存在,存在在哪個原型對象上
person1除了name,age在對象對象中存在外,其他方法都是通過原型鏈的方法在Object上找到并調(diào)用。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/89812.html
摘要:用構(gòu)造器模擬類的兩種方法在構(gòu)造器中修改,給添加屬性修改構(gòu)造器的屬性指向的對象,它是從這個構(gòu)造器構(gòu)造出來的所有對象的原型。 筆記說明 重學(xué)前端是程劭非(winter)【前手機(jī)淘寶前端負(fù)責(zé)人】在極客時(shí)間開的一個專欄,每天10分鐘,重構(gòu)你的前端知識體系,筆者主要整理學(xué)習(xí)過程的一些要點(diǎn)筆記以及感悟,完整的可以加入winter的專欄學(xué)習(xí)【原文有winter的語音】,如有侵權(quán)請聯(lián)系我,郵箱:kai...
摘要:用構(gòu)造器模擬類的兩種方法在構(gòu)造器中修改,給添加屬性修改構(gòu)造器的屬性指向的對象,它是從這個構(gòu)造器構(gòu)造出來的所有對象的原型。 筆記說明 重學(xué)前端是程劭非(winter)【前手機(jī)淘寶前端負(fù)責(zé)人】在極客時(shí)間開的一個專欄,每天10分鐘,重構(gòu)你的前端知識體系,筆者主要整理學(xué)習(xí)過程的一些要點(diǎn)筆記以及感悟,完整的可以加入winter的專欄學(xué)習(xí)【原文有winter的語音】,如有侵權(quán)請聯(lián)系我,郵箱:kai...
摘要:用構(gòu)造器模擬類的兩種方法在構(gòu)造器中修改,給添加屬性修改構(gòu)造器的屬性指向的對象,它是從這個構(gòu)造器構(gòu)造出來的所有對象的原型。 筆記說明 重學(xué)前端是程劭非(winter)【前手機(jī)淘寶前端負(fù)責(zé)人】在極客時(shí)間開的一個專欄,每天10分鐘,重構(gòu)你的前端知識體系,筆者主要整理學(xué)習(xí)過程的一些要點(diǎn)筆記以及感悟,完整的可以加入winter的專欄學(xué)習(xí)【原文有winter的語音】,如有侵權(quán)請聯(lián)系我,郵箱:kai...
摘要:繼承原型鏈如果構(gòu)造函數(shù)或?qū)ο蟮脑椭赶驑?gòu)造函數(shù)或?qū)ο螅脑驮僦赶驑?gòu)造函數(shù)或?qū)ο螅源祟愅疲罱K的構(gòu)造函數(shù)或?qū)ο蟮脑椭赶虻脑汀? 繼承 原型鏈 如果構(gòu)造函數(shù)或?qū)ο驛的原型指向構(gòu)造函數(shù)或?qū)ο驜,B的原型再指向構(gòu)造函數(shù)或?qū)ο驝,以此類推,最終的構(gòu)造函數(shù)或?qū)ο蟮脑椭赶騉bject的原型。由此形成了一條鏈狀結(jié)構(gòu),被稱之為原型鏈。按照上述的描述,在B中定義的屬性或方法,可以在A中使用并不需要...
閱讀 3723·2021-11-24 09:39
閱讀 1870·2021-11-16 11:45
閱讀 616·2021-11-16 11:45
閱讀 1029·2021-10-11 10:58
閱讀 2475·2021-09-09 11:51
閱讀 1941·2019-08-30 15:54
閱讀 687·2019-08-29 13:13
閱讀 3466·2019-08-26 12:18