`

js中继承知识

阅读更多

1.理论摘要:

  js继承:

  每个javascript对象都包含着对另一个对象(原型对象)的内部引用。原型对象的任何属性,表现为每个以它为原型的对象的属性。

javascrpt对象从它的原型哪里继承属性。

 

 

 

2.理解new运算符:

  1.使用new运算符来创建一个空对象,然后把构造函数作为这个对象的一个方法来调用。

  2.创建了一个空对象之后,new运算符设置了这个对象的原型。一个对象的原型就是它的构造函数的prototype属性值。

 

 

3.函数:

  所有的函数都有一个prototype属性,当这个函数被定义的时候,prototype属性自动创建和初始化。prototype属性的初始化值是一个对象,这个对象只带有一个属性,这个属性名为constructor,它指回到和原型相关联的那个构造函数。

这就是每个对象都有一个constructor属性的原型。

添加给这个原型对象的任何属性,都会成为被构造函数所初始化的对象的属性。

 

构造函数初始化的每个对象都确实从原型哪里继承了完全相同的一组属性。原型对象是放置方法和其他不变属性的理想地方。

 

理解对象如何继承prototype原型对象的属性的:

   "继承作为查找一个属性值的过程的一部分自动发生"。

属性并非从原型对象复制到新对象,它们只是像那些对对象的属性一样出现。

这有两个重要的含义:

   1.使用原型对象可以显著地减少每个对象所需的内存数量,因为对象可以继承原型的很多属性。

   2.即便是在对象创建以后才添加到原型中的属性,对象也可以继承它。

可以使用for/in循环来枚举获得从prototype对象继承的属性。

 

 

<script type="text/javascript">

var myObj = new function() {

var a = 1;

}

//alert(myObj);//output [object object]

//alert(myObj.a);//output  undefined

var myObj1 = new function() {

var a = 1;

return 1;

}

//alert(myObj1);//output [object object]

//alert(myObj1.a);//output undefined

var myObj2 = new function() {

this.a = 1;

return this.a;

}

//alert(myObj2);//output [object object]

//alert(myObj2.a);//output 1

alert(myObj2.constructor);

var myObj3 = new function() {

alert('1');// output 1

}

alert(myObj3.constructor);

 

</script>

分享到:
评论

相关推荐

    js继承的用法

    根据提供的文件信息,我们可以分析并总结出关于JavaScript继承的一些关键知识点。尽管提供的代码示例主要关注于使用jQuery插件初始化一个表格(grid),但这里我们将重点放在如何在JavaScript中实现继承这一主题上。...

    js继承实现示例代码

    ### JavaScript继承实现示例 #### 知识点概述 在JavaScript中,继承是一种常见的对象间关系,它允许一个对象(子类)继承另一个对象(父类或超类)的属性和方法。通过继承,可以复用代码、提高程序的可维护性,并...

    javascript继承之为什么要继承.docx

    JavaScript 中的继承机制是指子类继承父类的属性和方法,使得子类可以拥有父类的所有特征。继承是面向对象编程的基本机制之一,它可以实现代码复用、提高编程效率和增强代码的可维护性。 在 JavaScript 中,继承是...

    java script 继承的实现

    本文将深入探讨 JavaScript 中的继承实现方式,并结合提供的 "zinherit.js" 文件来解析相关知识点。 在 JavaScript 中,继承主要通过原型链(prototype chain)、构造函数继承、组合继承、原型式继承、寄生式继承、...

    JS继承笔记.7z

    以上就是JavaScript继承的一些主要知识点,每一种模式都有其适用场景和优缺点。理解并掌握这些模式对于编写高效、可维护的JavaScript代码至关重要。"JS继承笔记.md"文档可能对这些概念进行了详细解释,包括示例和...

    Javascript中的封装与继承

    在这个文档中,我们将深入探讨JavaScript中的封装和继承这两个核心概念,帮助你更好地理解和应用这些知识。 封装是面向对象编程的基本原则之一,它涉及到如何组织和保护代码,以实现数据隐藏和功能模块化。在...

    js基础知识点思维导图

    本思维导图将深入探讨JS的基础知识点,帮助初学者构建全面的JavaScript知识体系。 1. 变量与数据类型: JavaScript有六种基本数据类型:Undefined、Null、Boolean、Number、String和Symbol(ES6新增),以及一种...

    javascript的prototype继承

    以下是一些关于JavaScript原型继承的关键知识点: 1. **基本用法**:创建一个新函数(子类),然后将子类的`prototype`设置为父类的一个实例。例如: ```javascript function ClassA() { this.a = 'a'; } function...

    JavaScript中继承用法实例分析

    在给定的文件内容中,我们看到一个具体的JavaScript继承的例子,主要分为以下几个步骤: 1. 定义父类`Person`,这个类有一个原型方法`walk`和`sayHello`,它们分别用于定义行走和打招呼的行为。 ```javascript ...

    js 实现类式继承

    在JavaScript中,实现类式继承是面向对象编程中的一个关键概念。JavaScript本身是一种基于原型的动态类型语言,但在ES6引入了`class`语法糖,使得类的概念更加清晰,但其实质仍然是基于原型的继承。下面我们将深入...

    JavaScript语言基础知识点总结十张图

    JavaScript是Web开发中不可或缺的一部分,它是一种轻量级的、解释型...在实际应用中,还需要结合浏览器环境、Node.js环境以及各种框架和库来提升开发效率和代码质量。不断学习和实践,是成为JavaScript专家的必经之路。

    JS继承与闭包及JS实现继承的三种方式

    在之前的两篇博客中,我们详细探讨了JavaScript OOP中的各种知识点(JS OOP基础与JS 中This指向详解 、 成员属性、静态属性、原型属性与JS原型链)。今天我们来继续探讨剩余的内容吧。 我们都知道,面向对象的三大...

    【JavaScript源代码】一篇文章教你JS函数继承.docx

    要理解这些继承方式,首先需要具备JavaScript原型链的基础知识。 **二、原型链继承** 原型链继承是通过将父类的实例作为子类的原型来实现的。例如: ```javascript function Parent(name, age) { this.name = ...

    javascript学习知识大全.rar

    JavaScript是一种广泛应用于网络开发的脚本语言,尤其在前端开发中占据着核心地位。它主要负责网页的动态交互,提供用户友好的体验。这个“javascript学习知识大全.rar”压缩包很可能是包含了一系列有关JavaScript...

    Js_230(JavaScript中常用的230个知识点)

    "Js_230"这个压缩包文件涵盖了JavaScript中230个常用的知识点,旨在帮助开发者深入理解和掌握这门语言的核心技巧。 1. **基本语法** - 变量声明:`var`, `let`, `const` - 数据类型:原始类型(Number, String, ...

    javascript知识图谱

    JavaScript,简称JS,是Web开发领域中不可或缺的脚本语言,尤其在前端开发中占据核心地位。本知识图谱旨在全面地梳理JavaScript的各种知识点,帮助已经学习或正在学习JavaScript的同学构建和完善自己的知识体系。 1...

    js树状图,分类表,继承关系

    在深入探讨“js树状图,分类表,继承关系”的知识点之前,我们首先需要理解这几个概念的基本含义及其在JavaScript编程中的应用。 ### js树状图 树状图是一种图形化展示数据结构的方式,通常用于表示层次关系或组织...

    js原型继承的两种方法对比介绍.docx

    ### JS原型继承的两种方法对比介绍 #### 一、引言 在JavaScript中,对象间的继承机制主要依赖于原型链。原型链的概念使得JavaScript能够实现动态面向对象编程,并且提供了非常灵活的对象创建与继承的方式。在实际...

    javascript中文手册,JS中文手册大全

    随着技术的发展,JavaScript已经成为一种全栈开发语言,不仅限于前端,还能在服务器端(Node.js)和移动应用中使用。 《JavaScript中文手册》是一份全面的资源,旨在帮助开发者深入理解和掌握JavaScript的核心概念...

Global site tag (gtag.js) - Google Analytics