`

继承(原型链)

 
阅读更多

javascript中的继承是通过原型链来体现的

function Foo(){};
var f1 = new Foo();

f1.a = 10;

Foo.prototype.a = 100;
Foo.prototype.b = 200;

console.log(f1.a); //10
console.log(f1.b);//200

 为什么是这个结果呢?

访问一个对象的属性时,现在基本属性中找,如果没有,再沿着__proto__这条链向上找(对象的__proto__指向创建这个对象的函数的prototype,这个prototype的__proto__指向创建这个prototype对象的函数的prototype以此类推),这就是原型链

 

那么如何区分一个属性是基本的还是从原型当中找到的呢?可以用hasOwnProperty这个函数,那哪来的这个函数呢,它来自Object.prototype

 

由于所有的对象的原型链都会找到Object.prototype,因此所有对象都会有Object的方法,这就是js的继承。

分享到:
评论

相关推荐

    JavaScript — 原型链与作用域链1

    3. **继承原型链**:通过设置`__proto__`或者使用`Object.create()`方法,可以实现对象间的继承。这样,子对象就能访问父对象的原型链上的属性和方法。 4. **全局对象**:在JavaScript中,全局变量实际上是全局对象...

    强大的原型和原型链

    ### 强大的原型和原型链 #### 前言 JavaScript 的继承机制与传统面向对象语言(如 Java、C#)中的类继承不同,它采用了基于原型(Prototype-based)的继承模型。这种模型使得 JavaScript 在处理对象之间的继承关系...

    JS继承.txtJS继承.txt

    JavaScript支持多种继承机制,包括原型链继承、构造函数继承、组合继承、寄生式继承以及寄生组合继承等。接下来,我们将详细探讨这些继承方式。 ### 1. 原型链继承 原型链继承是通过将一个对象设置为另一个对象的...

    js原型链详解

    JavaScript作为一门基于原型的语言,其原型和原型链的概念是理解和掌握JS继承机制的关键。接下来将详细阐述这些概念。 #### 普通对象与函数对象 在JavaScript中,一切皆为对象,但对象可以分为两类:普通对象和...

    js中的继承与原型链1

    JavaScript中的继承和原型链是其核心特性之一,尤其对于从基于类的语言背景转到JavaScript的开发者来说,理解这一概念至关重要。在JavaScript中,没有传统的类,而是基于对象和原型进行继承。每个对象都有一个指向其...

    js对象继承之原型链继承实例

    JavaScript是一种面向对象的编程语言,它允许通过原型链实现对象之间的继承。原型链继承是基于原型对象来实现继承的一种机制,通过将父对象设置为子对象的原型来实现对父对象属性和方法的继承。下面将详细介绍原型链...

    学习javascript面向对象 javascript实现继承的方式

    在JavaScript中,面向对象编程是通过构造函数、原型链和继承实现的。继承是面向对象编程的核心概念之一,它允许我们创建一个新对象,该对象继承现有对象的属性和方法。在JavaScript中,实现继承有多种方式,每种方式...

    JavaScript原型链

    JavaScript原型链是JavaScript语言中的一个核心特性,它关乎对象之间的继承关系。在JavaScript中,一切皆为对象,而原型链则是实现对象间属性和方法共享的一种机制。理解原型链对于深入学习JavaScript至关重要。 ...

    JS 继承类 原型链

    在JS中,主要通过原型链来实现继承。 ### 1. 原型(Prototype) 在JS中,每个函数都有一个特殊的内部属性`prototype`,它是一个对象,可以为该函数创建的实例提供共享的属性和方法。当尝试访问对象的一个属性时,...

    原型链全套图解.rar

    在JavaScript中,原型链是理解对象继承和属性查找机制的关键概念。它是一种基于原型(prototype)的继承方式,使得一个对象能够从另一个对象那里继承属性和方法。在本压缩包"原型链全套图解.rar"中,包含了全面的...

    JS继承--原型链继承和类式继承

    本文主要探讨了两种常见的继承方式:原型链继承和类式继承。 1. **原型链继承**: 原型链继承是JavaScript中实现继承的基本方式,它依赖于原型(`__proto__`)和构造函数之间的关系。在JavaScript中,每个对象都有...

    【JavaScript的9种继承实现方式归纳】js实现继承的几种方式.pdf

    原型链继承是 JavaScript 中实现继承的默认方式。如果要让子对象继承父对象,可以将子对象构造函数的 prototype 属性指向父对象的一个实例。例如: ``` function Parent() {} function Child() {} Child.prototype =...

    【技术分享】从浅入深 Javascript 原型链与原型链污染 .pdf

    JavaScript 原型链是语言的核心特性之一,它在实现对象的继承和共享属性时起着关键作用。本文将深入探讨JavaScript原型链的工作原理及其可能导致的安全问题——原型链污染。 首先,JavaScript 中的对象继承并不像...

    我所理解的从原型到原型链.pdf

    ### 我所理解的从原型到原型链 在JavaScript中,理解原型(Prototype)与原型链(Prototype Chain)是至关重要的。这两个概念是语言的核心部分,对于深入理解对象的属性查找机制、继承等方面有着不可替代的作用。 ...

    JavaScript你一定要搞懂的原型链

    通过原型链图,我们可以清晰地看到对象之间的继承关系,以及通过原型链实现属性和方法的继承和访问。 能学到什么:理解原型链对于 JavaScript 开发者来说非常重要,因为它影响了对象的属性访问、继承和代码复用等...

    探索JavaScript的原型链:原型继承的奥秘

    ### 探索JavaScript的原型链:原型继承的奥秘 #### 一、JavaScript与原型继承的基础 JavaScript(简称JS)是一种广泛使用的高级编程语言,在Web开发中占据着核心地位。它的特性之一是基于原型的继承机制,这与其他...

    深入理解javascript原型链和继承

    在深入理解JavaScript原型链和继承的概念之前,首先要了解JavaScript是一种基于对象的语言,而非传统的面向对象语言。它没有类的概念,函数可以被视为构造器,而对象则是通过构造函数、原型对象和实例之间的特殊关系...

Global site tag (gtag.js) - Google Analytics