`

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>

分享到:
评论

相关推荐

    【JavaScript源代码】深入JS继承.docx

    原型式继承 原型链式继承 借用构造函数(类式继承) 组合继承 寄生组合式继承 结束语 前言 对于灵活的js而言,继承相比于java等语言,继承实现方式可谓百花齐放。方式的多样就意味着知识点繁多,当然也是面试时...

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

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

    js基础知识js的简介

    1、js的简介JavaScript 是⼀种客户端脚本语⾔(脚本语⾔是⼀种轻量级的编程语⾔,语法和java类似。...(因为⾯向对象需要具有封装、继承、多态的特征)JavaScript语⾔中包含三个核⼼:ECMAScript基本语法、DOM、BOM....

    JavaScript中数组继承的简单示例

    主要介绍了JavaScript中数组继承的简单示例,数组继承是JavaScript入门学习中的基础知识,需要的朋友可以参考下

    理解javascript对象继承

    主要帮助大家理解javascript对象继承,先从一个问题出发,引入javascript对象继承相关知识,感兴趣的小伙伴们可以参考一下

    JavaScript常见继承模式实例小结

    JavaScript中并没有传统的面向对象语言中的类的概念,但是却实现了特殊的继承机制。 (阅读此文您首先需要知道原型的知识) 先来说说第一种继承方式,原型链继承。 一. 原型链继承 所谓原型链继承,就是让父类的一个...

    JavaScript继承与多继承实例分析

    本文实例讲述了JavaScript继承与多继承。分享给大家供大家参考,具体如下: 虽然最新的EC6里边已经有了class的相关功能,但是从普及度上和阅读旧代码需求的方面来看,这点知识也得了解一下。 本文结构: ① 原理及...

    javascript面向对象编程

    面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...

    JavaScript面向对象编程指南.pdf

    面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...

    javascript继承之为什么要继承

    本文详细介绍javascript的继承等各方面相关知识

    JavaScript面向对象编程指南

    面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的...

    实例介绍JavaScript中多种组合继承

    在本篇文章里小编给大家分享了关于JavaScript中多种组合继承的相关知识点内容,有需要的朋友们学习下。

    一文理清 JavaScript 中对象的创建模式与继承模式

    一文理清 JavaScript 中对象的创建模式与继承模式 文章目录一文理清 JavaScript 中对象的创建模式与继承模式一、前言 :1. 写作目的2. 需要具备的知识点3. 阅前声明二、JavaScript 中对象的创建模式1. ( 单例模式 ) ...

    前端 二阶段 js 复习总纲规划

    包含了js 的所有的知识点,包括 js 基础知识,es6,正则,promise,事件轮询,定时器,跨域,继承,深浅拷贝,闭包,设计模式,前后端交互等等,复习总纲。方便大家查询与复习,对于初学JS学员来说可以少走很多弯路...

    JavaScript 面向对象编程详细讲解文档

    原型是理解继承概念的关键, 我们将会教你如何建立原型, 如何检测一个对象是否是另外一个对象的原型, 及其 JavaScript 的模型与Java 面向对象编程之间的区别。我们同样会向你展示如何检测对象所包含的各种属性的方法...

    js-objct:快速,模块化的oop继承库,用于javascript。 最低限度的基础知识与功能强大的装饰器相结合

    快速,模块化的oop继承库,用于javascript。 最少的基础知识与功能强大的装饰器相结合。 objct.extend() objct.isObjct() objct.isArray() objct.e() objct.e.extend() objct.e.decorator() ...

    JavaScript使用原型和原型链实现对象继承的方法详解

    之前对JavaScript一直都是一知半解,这两天看了一下原型链这一块知识,综合练习了一下JavaScript的对象继承方式。 以下就是原型链和原型的关系,引用网上的一张图 在Javascript中,每个函数都有一个原型属性...

Global site tag (gtag.js) - Google Analytics