javascript继承机制的设计思想
2016-07-06 11:52
489 查看
为什么要使用prototype?
new关键字的作用?
通过继承得到的属性并没有共享,这样就造成资源上的极大浪费。于是引入了prototype原型继承
new关键字到底做了什么?
new关键字的作用?
//构造函数 var Pet = function(word){ this.word = word; this.type = 'animal'; } //用new关键字继承pet var dog = new Pet('wang wang~'); dog.word;//wang wang~ var cat = new Pet('miao miao~'); cat.word;//miao miao~ dog.type = 'person'; dog.type;//person cat.type;//animal
通过继承得到的属性并没有共享,这样就造成资源上的极大浪费。于是引入了prototype原型继承
//构造函数 var Pet = function(word){ this.word = word; this.type = 'animal'; } Pet.prototype.type = 'person'; //用new关键字继承pet var dog = new Pet('wang wang~'); dog.word;//wang wang~ var cat = new Pet('miao miao~'); cat.word;//miao miao~ dog.prototype.type = 'person'; dog.type;//person cat.type;//person
new关键字到底做了什么?
1.创建类的实例。这步是把一个空的对象的 __proto__ 属性设置为 F.prototype 。 2.初始化实例。函数 F 被传入参数并调用,关键字 this 被设定为该实例。 3.返回实例。 function New (f) { var n = { '__proto__': f.prototype }; /*第一步*/ f.apply(n, arguments); /*第二步*/ return n; /*第三步*/ }
相关文章推荐
- 常规功能和模块自定义系统 (cfcmms)—052在extjs中自定义theme
- js字符串截取函数slice()、substring()、substr()
- js 时间倒计时
- 使用单体模式设计原生js插件
- JS正则表达式
- LitJson使用中的一些问题
- JavaScript鼠标跟随星星飘落动画
- Extjs4.1 环境搭建
- js转义字符
- jstl标签库基础教程及其使用代码(一)。
- 向JSON文件中写数据和读数据
- js 字符串转化成数字
- javascript 数据类型
- javascript 函数
- 原生JS的事件绑定
- js设计模式之建造者模式
- js去空格 回车 制表符 换页符
- js 验证数字的正则表达式集
- json对象与字符串转换操作
- js第二天知识总结