2把共享的属性方法移动到prototype上
来源:互联网 发布:淘宝店身份认证复核 编辑:程序博客网 时间:2024/06/05 11:23
demo:http://runjs.cn/code/1bum1jxc
写在前面:在前一章基础上继续修改,红色标注为不同之处
//构造函数 function Shape() {}; //添加原型 Shape.prototype.name = "Shape"; Shape.prototype.toString = function() { return this.name; } //其他构造函数 function TwoDshape() {}; //继承原型链属性 TwoDshape.prototype = new Shape(); //修改constructor指向 TwoDshape.prototype.constructor = TwoDshape; //修改TwoDshape的属性 TwoDshape.prototype.name = "2d shape"; //第三个构造函数,和其他函数不一样的是这里有自身自带的方法属性 function Triangle(side, height) { this.side = side; this.height = height; } //继承原型链属性,再次签到必须在拓展原型对象属性前完成继承关系的构建 Triangle.prototype = new TwoDshape(); Triangle.prototype.constructor = Triangle;//A //修改属性 Triangle.prototype.name = "Triangle"; Triangle.prototype.getArea = function() { return this.side * this.height / 2; } //开始试验---------- var my = new Triangle(5, 10); console.log("和上一章已经进行相同的检测") var my = new Triangle(5, 10); console.log(my.toString()); //my的构造函数是谁呢? console.log("my的构造函数是谁呢?---------"); console.log(my.constructor === Triangle); //在A处我们明确把Triangle的constructor指向了Triangle console.log("通过instanceof来主动查找实例my对象的构造函数是谁?"); console.log(my instanceof Shape); //true console.log(my instanceof TwoDshape); //true console.log(my instanceof Triangle); //true console.log("通过构造函数sPrototypeOf方法来判断是否拥有相应的实例------------") console.log(Shape.prototype.isPrototypeOf(my)); //true console.log(TwoDshape.prototype.isPrototypeOf(my)); //true console.log(Triangle.prototype.isPrototypeOf(my)); //true console.log("效果和上一章一模一样,下面来的不一样的,通过hasOvenProperty()来验证是自身属性还是原型链属性") console.log(my.hasOwnProperty('side')) //true console.log(my.hasOwnProperty('name')) //false
0 0
- 2把共享的属性方法移动到prototype上
- 写到prototype里的属性什么时候各实例共享值,什么时候不共享?
- 从对象创建 到构造函数以及原型对象(prototype的使用,属性的共享)
- 构造函数内的方法与构造函数prototype属性上方法的对比
- 把本地MSSQL数据库上传到虚拟主机上的方法
- 把UIView覆盖到状态栏上的方法
- 把UIView覆盖到状态栏上的方法
- JavaScript prototype 属性 扩展你的方法
- javascript 方法 prototype属性
- mac 上如何把整个应用的所有窗口移动到某个桌面上去?
- 怎么把电脑上大于4G的文件移动到U盘?
- 把 WSUS 的数据库移动到远端
- 共享电脑上的媒体资源给ipad、iphone、android等移动设备的方法
- JavaScript的Prototype属性 静态方法属性 存档
- Ubuntu 中把最大化最小化关闭按钮移动到右侧的方法
- javascript的prototype属性
- js的prototype属性
- js的Prototype属性
- 如何调整Linux内核启动中的驱动初始化顺序-驱动加载优先级
- Java中ArrayList类的用法(转)
- 第三方登陆步骤(友盟)
- jquery向网页输出的中文乱码的解决方法
- 多线程07:《疯狂Java讲义》学习笔记——线程组和未处理的异常
- 2把共享的属性方法移动到prototype上
- 【第七章】 对JDBC的支持 之 7.1 概述 ——跟我学spring3
- ASCII,Unicode和UTF-8字符编码详解
- 从一个简单例子 到 虚函数(摘抄)
- MFC多线程控制进度条
- 给DedeCms的验证码增加点击刷新功能
- 函数对象
- click在linksys wrt1200AC平台上的交叉编译
- HttpClient——Get,Post