JavaScript 学习笔记八 继承与引用

1function logs(obj){document.write(obj+"<br/>");} //打印log日志 2 3//继承 4//继承可以通过原型链来实现 5//解释器会在对象中查找该属性,如果 6//没有找到,则在其内部对象 prototype 对象上搜索,由于 prototype 对象与对象本身的结 7//构是一样的,因此这个过程会一直回溯到发现该属性,则调用该属性,否则,报告一个错误。 8function Base(){ 9 var name = "josn"; 10 this.baseFunc = function(){ 11 logs("base behavior"); 12 } 13 this.getName = function(){ 14 return name; 15 } 16} 17function Middle(){ 18 this.middleFunc = function(){ 19 logs("middle behavior"); 20 } 21} 22Middle.prototype = new Base();//原型上进行继承 23var mid = new Middle(); 24mid.middleFunc(); //自有函数 25mid.baseFunc(); //继承自父类 Base 26 27//引用 28// 引用始终指向最终的对象,而并非引用本身 29var obj = {};//空对象 30var ref = obj;//引用 31obj.name = "objectA"; 32logs(ref.name);;//objectA ref跟着添加了name属性 33obj.name = "objectB"; //修改原始的那个对象会影响到其引用上,这一点也应该注意。 34 35obj = ["one","two","three","d"]; 36obj.name = "objectC"; 37logs(ref.name);/*objectA ref还指向原来的对象*/logs(obj.length);//4 数组的长度 38//obj 只是对一个匿名对象的引用,所以,ref 并非指向它,当 obj 指向另一个数组对象时 39//可以看到,引用 ref 并未改变
点赞
收藏

评论区

加载中...

相关推荐

前端学习重点-原型与原型链

原文链接:什么是原型?每一个函数都包含一个prototype属性,这是一个指针指向"原型对象"(prototypeobject),也就是我们平时说的原型。每一个函数都包含不同的原型对象。当将函数用作构造函数的时候,新创建的对象(实例)会从原型对象上继承属性

Js中 constructor, prototype, __proto__ 详解

本文为了解决以下问题:__proto__(实际原型)和prototype(原型属性)不一样!!!constructor属性(原型对象中包含这个属性,实例当中也同样会继承这个属性)prototype属性(constructor.prototype原型对象)__proto__属性(实例指向原型对象的指针)<br/首先弄清楚几个概念:<br/

JavaScript prototype原型用法

JavaScript对象原型所有JavaScript对象都从原型继承属性和方法。<!DOCTYPEhtml<html<metacharset"utf8"<titlejs</title<body<h2JavaScript对象</h2

JavaScript学习总结(十七)——Javascript原型链的原理

一、JavaScript原型链ECMAScript中描述了原型链的概念,并将原型链作为实现继承的主要方法。其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。在JavaScript中,用__proto__属性来表示一个对象的原型链。当查找一个对象的属性时,JavaScript会向上遍历原型

23.JavaScript原型和原型链

1.原型:prototype,所有的函数都有一个属性prototype,称之为函数原型默认情况下,prototype是一个普通的Object对象默认情况下,prototype中有一个属性constructor,它也是一个对象,它指向构造函数本身functionTest(){}Test.prototype:函数Test的原型Test.pr

Javascript 是如何体现继承的 ?

js继承的概念js里常用的如下两种继承方式:原型链继承(对象间的继承)类式继承(构造函数间的继承) 由于js不像java那样是真正面向对象的语言,js是基于对象的,它没有类的概念。所以,要想实现继承,可以用js的原型prototype机制或者用apply和call方法去实现在面向对象的语言中,我们使用类来创建一个自定义对象