文档章节

JavaScript 学习笔记八 继承与引用

东湖畔新家
 东湖畔新家
发布于 2017/05/09 18:57
字数 305
阅读 1
收藏 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 并未改变

© 著作权归作者所有

东湖畔新家
粉丝 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

没有更多内容

加载失败,请刷新页面

加载更多

从濒临解散到浴火重生,OceanBase 这十年经历了什么?

阿里妹导读:谈及国产自研数据库,就不得不提 OceanBase。与很多人想象不同的是,OceanBase 并非衔着金钥匙出生的宠儿。相反,它曾无人看好、困难重重,整个团队甚至数度濒临解散。 从危在旦...

阿里云云栖社区
17分钟前
1
0
比特币第三方API大全

在开发比特币应用时,除了使用自己搭建的节点,也可以利用第三方提供的比特币api,来获取市场行情、进行交易支付、查询账户余额等。这些第三方api不一定遵循标准的比特币rpc接口规范,但往往...

汇智网教程
28分钟前
1
0
Dozer:Dozer异常java.lang.ClassCastException

这个问题是个很难发现的问题,因为代码本身没有错误,但就是无法找到报错原因 现记录下这个报错 java.lang.ClassCastException:com.XXX.ObjectA cannot be cast to com.XXX.ObjectA 代码中并...

琴兽
今天
2
0
Feign Retryer的默认重试策略测试

1、Feign配置 @Configurationpublic class FeignConfig { @Value("${coupon_service.url:http://localhost:8081}") private String couponServiceUrl; @Bean publ......

moon888
今天
2
0
关于不同域名下的session共享问题

如果登录,首页,分类,列表,产品都在不同的二级域名下,主域名不变,一定要保证里面的版本问题,不能为了更新而更新,这样哪个下面的session都访问不了。

dragon_tech
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部