国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

原型和原型鏈

heartFollower / 3174人閱讀

摘要:創建對象有幾種方法字面量構造函數原型構造函數實例原型鏈的關系幾點說明函數聲明時自動增加屬性,初始化一個空對象構造函數才會有,普通函數會有實例對象才會有繼承工作原理通過原型鏈的方式找到原型對象,原型對象的方法和屬性會共享實例沒有的屬性會向上查

創建對象有幾種方法
// 1.字面量
var o1 = {
    name: "o1"
};
var o2 = new Object({
    name: "o2"
});
// 2.Object.create()
var o3 = Object.create({
    name: "o3"
});
// 3.構造函數
var M = function () {
    this.name = "o3"
};
var o4 = new M();

原型、構造函數、實例、原型鏈的關系

幾點說明:

函數聲明時自動增加prototype屬性,初始化一個空對象

構造函數才會有prototype,普通函數會有__proto__

實例對象才會有__proto__

繼承

工作原理:通過原型鏈的方式找到原型對象,原型對象的方法和屬性會共享;實例沒有的屬性會向上查找

instanceof的原理

判斷原理:實例對象的__proto__屬性和構造函數的prototype屬性是不是引用同一個地址,而且實例對象的constructor必須指向對應構造函數

var a = [1, 2, 3];
alert(a instanceof Array);  //返回true
alert(a instanceof Object);  //返回true
 
alert(a.constructor == Array);  //返回true
alert(a.constructor == Object);  //返回false

constructor 更加精確地指向對象所屬的類,而對 instanceof 而言,即使是父類也會返回true

練習:如何判斷一個對象是否屬于某個類

if(a instanceof Person){
    alert("yes");
}
new運算符(過程、工作原理)
1.創建一個空對象,并且this變量指向改對象,同時還繼承了該構造函數的原型
2.屬性和方法被加入到this引用的對象中去
3.最后隱式的返回this對象
var obj = {};
obj.__proto__ = Base.prototype;
Base.call(obj);

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88635.html

相關文章

  • 《javascript高級程序設計》筆記:原型圖解

    摘要:不理解沒關系,下面會結合圖例分析上一篇高級程序設計筆記創建對象下一篇高級程序設計筆記繼承參考之原型鏈的解讀三張圖搞懂的原型對象與原型鏈繼承與原型鏈 文章直接從原型圖解開始的,如果對一些概念不太清除,可以結合后面幾節查看 1. 圖解原型鏈 1.1 鐵三角關系(重點) function Person() {}; var p = new Person(); showImg(https://s...

    vspiders 評論0 收藏0
  • 如何理解JavaScript的原型原型

    摘要:之前有朋友問怎么去理解原型和原型鏈的問題。理解原型鏈的小技巧將箭頭視作泛化子類到父類關系那么圖中所有的虛線將構成一個繼承層級,而實線表示屬性引用。原型鏈是實現繼承的重要方式,原型鏈的形成是真正是靠而非。 之前有朋友問怎么去理解原型和原型鏈的問題。這個問題,在面試中,很多同學經常都會遇到。這里給大家講講,方便大家記憶。 JavaScript的特點JavaScript是一門直譯式腳本...

    xuexiangjys 評論0 收藏0
  • 如何理解JavaScript的原型原型

    摘要:之前有朋友問怎么去理解原型和原型鏈的問題。理解原型鏈的小技巧將箭頭視作泛化子類到父類關系那么圖中所有的虛線將構成一個繼承層級,而實線表示屬性引用。原型鏈是實現繼承的重要方式,原型鏈的形成是真正是靠而非。 之前有朋友問怎么去理解原型和原型鏈的問題。這個問題,在面試中,很多同學經常都會遇到。這里給大家講講,方便大家記憶。 JavaScript的特點JavaScript是一門直譯式腳本...

    adie 評論0 收藏0
  • JavaScript面向對象---原型繼承

    摘要:因為這造成了繼承鏈的紊亂,因為的實例是由構造函數創建的,現在其屬性卻指向了為了避免這一現象,就必須在替換對象之后,為新的對象加上屬性,使其指向原來的構造函數。這個函數接收兩個參數子類型構造函數和超類型構造函數。 最近一直在研究js面向對象,原型鏈繼承是一個難點,下面是我對繼承的理解以下文章借鑒自CSDN季詩筱的博客 原型鏈繼承的基本概念: ES中描述了原型鏈的概念,并將原型鏈作為實現...

    vspiders 評論0 收藏0
  • JavaScript中的原型原型

    摘要:前言作為前端高頻面試題之一,相信很多小伙伴都有遇到過這個問題。 前言 作為前端高頻面試題之一,相信很多小伙伴都有遇到過這個問題。那么你是否清楚完整的了解它呢? 國際慣例,讓我們先拋出問題: 什么是原型、原型鏈 它們有什么特點 它們能做什么 怎么確定它們的關系 或許你已經有答案,或許你開始有點疑惑,無論是 get 新技能或是簡單的溫習一次,讓我們一起去探究一番吧 如果文章中有出現紕...

    laoLiueizo 評論0 收藏0
  • JS基礎-原型、原型真的不能一知半解

    摘要:原型鏈和對象的原型是對象實例和它的構造函數之間建立的鏈接,它的值是構造函數的。對象的原型根據上文提到的構造調用函數的時候會創建一個新對象,自動將的原型指向構造函數的對象。 showImg(https://segmentfault.com/img/remote/1460000020185197); JS的原型、原型鏈一直是比較難理解的內容,不少初學者甚至有一定經驗的老鳥都不一定能完全說清...

    changfeng1050 評論0 收藏0

發表評論

0條評論

heartFollower

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<