文档章节

JavaScript 学习笔记八 继承与引用

东湖畔新家
 东湖畔新家
发布于 2017/05/09 18:53
字数 305
阅读 3
收藏 0

 

function logs(obj){document.write(obj+"<br/>");}   //打印log日志
//继承
//继承可以通过原型链来实现
//解释器会在对象中查找该属性,如果
//没有找到,则在其内部对象 prototype 对象上搜索,由于 prototype 对象与对象本身的结
//构是一样的,因此这个过程会一直回溯到发现该属性,则调用该属性,否则,报告一个错误。
function Base(){
    var name = "josn";
    this.baseFunc = function(){
        logs("base behavior");
    }
    this.getName = function(){
        return name;
    }
}
function Middle(){
    this.middleFunc = function(){
        logs("middle behavior");
    }
}
Middle.prototype = new Base();//原型上进行继承
var mid = new Middle();
mid.middleFunc();   //自有函数
mid.baseFunc();    //继承自父类 Base
//引用
//     引用始终指向最终的对象,而并非引用本身
var obj = {};//空对象
var ref = obj;//引用
obj.name = "objectA";
logs(ref.name);;//objectA ref跟着添加了name属性 
obj.name = "objectB"; //修改原始的那个对象会影响到其引用上,这一点也应该注意。

obj = ["one","two","three","d"];
obj.name = "objectC";
logs(ref.name);/*objectA   ref还指向原来的对象*/logs(obj.length);//4 数组的长度
//obj 只是对一个匿名对象的引用,所以,ref 并非指向它,当 obj 指向另一个数组对象时
//可以看到,引用 ref 并未改变

本文转载自:http://blog.csdn.net/sblig/article/details/24670103

共有 人打赏支持
东湖畔新家
粉丝 1
博文 170
码字总数 31582
作品 0
杭州
后端工程师
私信 提问
JavaScript 面向对象学习——1

公司项目采用Ext,结果本人发现入门不易!尤其是采用JavaScript编写面向对象程序,经常使用jQuery的知道,jQuery是面向函数编程的,所以很容易入门。然而,Ext是面向对象的,那么,当你想要自...

learn_more
2014/11/16
0
0
【进阶3-1期】JavaScript 5 种 this 绑定全面解析

(关注福利,关注本公众号回复[资料]领取优质前端视频,包括Vue、React、Node源码和实战、面试指导) 本周正式开始前端进阶的第三期,本周的主题是this全面解析,今天是第9天。 本计划一共2...

yygmind
2018/11/29
0
0
《javascript语言精粹》学习笔记1

作为一个前端的学习者,之前由于时间赶且懒的特性,没有好好的学习一下js的特性,只看了w3cschool的基础教程,知道语法后就用起了jQuery框架,js的很多基础完全没有接触理解。这段时间了解到...

高霸天
2013/03/17
0
0
面向对象的JavaScript——类

在java里,我们定义类的时候用的是class关键字,但是JavaScript中class是保留字,另有用途,所以我们要采用其他的方法来定义JavaScript中的类。 定义类 利用JavaScript中的function关键字,类...

小微
2012/09/21
0
3
[Javascript]继承机制的设计思想

作者: 阮一峰 日期: 2011年6月 5日 我一直很难理解Javascript语言的继承机制。 它没有"子类"和"父类"的概念,也没有"类"(class)和"实例"(instance)的区分,全靠一种很奇特的"原型链"(......

亭子happy
2012/09/29
0
3

没有更多内容

加载失败,请刷新页面

加载更多

Coding and Paper Letter(六十四)

资源整理。 1 Coding: 1.交互式瓦片编辑器。 tile playground 2.R语言包autokeras,autokeras的R接口。autokeras是一个开源的自动机器学习的软件。 autokeras 3.斯坦福网络分析平台,用于网络...

胖胖雕
43分钟前
1
0
最简单的cd命令是个大坑!

BASH Shell 是大多 Linux 发行版的默认 shell,BASH 有一些自己的内置命令,cd 就是其中的一个。 在centos6里面,系统中不存在 cd 的二进制文件。但是你仍然可以运行该命令,这是因为 cd 是 ...

gaolongquan
54分钟前
1
0
spring获取bean的几种方式

使用jdk:1.8、maven:3.3.3 spring获取Bean的方式 pom.xml文件内容: <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="......

Vincent-Duan
今天
2
0
一段话系列-Linux中IO的同步、异步、阻塞、非阻塞

首先我们框定一下背景,我们探讨的是Linux系统下的IO模型。 同步和异步是针对内核操作数据而言的,同步是指内核串行顺序操作数据,异步是指内核并行(或并发)操作数据,然后通过回调的方式通...

EasyProgramming
今天
5
0
好程序员web前端分享主流CSS image比较

好程序员web前端分享主流CSS image比较在还原设计图的时候,难免会碰到一些样式图片的引用。如何来对这些图片做优化呢?本文简单的梳理了一下目前几种比较常用的使用方式。   注: 1. 有更好...

好程序员IT
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部