JS中的prototype属性实现继承
来源:互联网 发布:linux 进入图形命令 编辑:程序博客网 时间:2024/05/29 12:37
在JS中没有类的概念,继承是通过对象和对象之间实现的。其中主要是利用prototype属性来实现的。
函数中的prototype属性,又叫原型对象。构造函数可以通过prototype属性来添加函数。这样做到代码的简单性,避免冗余代码。还可以通过prototype属性来实现继承。
例如:
<span style="font-size:18px;">function Person(name,age,email) { this.user_name = name; this.user_age = age; this.user_email = email; } Person.prototype.sayHi=function(){ alert (this.user_name+' '+this.user_age+' '+this.user_email); } var p1=new Person('ss',18,'ss@163.com'); p1.sayHi(); function student(sid) { this.user_ID = sid; } student.prototype = p1; var s1 = new student(001); s1.user_name = 'sss'; s1.user_age = 10; s1.sayHi(); </span>上面这个例子就是一个继承的实现,student继承了person,本身student没有user_name,user_age,user_email等字段。通过让student的prototype属性等于p1然后指向了p1,此时p1指向的是person。所以这样就间接的继承了person。
下面是通过浏览器调试的执行结果
从上面这幅图更清晰的看到s1的__proto__是person,person的__proto__指向了sayHi方法。
PS
prototype原型对象中的值是只读的,不能修改。当变量“修改的时候”只是在自身的基础上增加了一个属性,并没有修改原型中的值。
对于原型中的引用类型,修改的时候只是修改了引用地址下面的值(栈中的值),对于原型中的地址没有改变。如果引用类型都做修改的话,也会自己创建一个属性。这样原型里面的值还是没有改变。
1 0
- JS中的prototype属性实现继承
- prototype-1.3.1.js中的类继承实现的改进
- js 采用prototype实现继承
- js中用prototype实现继承
- 借鉴prototype.js实现继承
- js中的prototype和基于prototype的继承总结
- js中的prototype和基于prototype的继承总结
- JS中的constructor与prototype(2)--js继承如何实现
- JS中的constructor与prototype(2)--js继承的实现原理
- JS中的prototype属性------阿冬专栏!!!
- js实现继承的练习 prototype原型继承
- js中的继承实现
- js中的继承实现
- JS中的继承实现
- js中的继承实现
- JS中的继承实现
- JS 中的继承实现
- JS中的继承实现
- Junit一般测试和高级测试
- 云点域名-(域名解析、域名转向、二级域名、动态域名)的功能介绍
- 黑龙江大学 校园网 师生服务 身份验证 查成绩 查绩点等 API 以及示例程序 (Python 验证码自动识别)
- 常见的网站架构分析
- (C)volatile关键字
- JS中的prototype属性实现继承
- Windows7下使用VMWare12 安装CenterOS6.5虚拟机
- 将SQL SERVER 2008的备份文件还原到SQL SERVER 2014中
- 【leetcode】26. Remove Duplicates from Sorted Array
- mysql编码问题
- Android模拟器连接localhost错误解决办法
- windows server 2008 系统服务详解和优化配置
- apache commons fileupload 下载(2016-07-01更新)
- html网页详细代码