笔记 - JS易忘基础知识(二)(关于对象和继承)
2011-04-05 20:08
639 查看
1 ECMAScript中所有变量都采用晚绑定的方法,不支持早绑定。晚绑定是指我们的代码在运行时再检查对象是否提供了我们所需要的方法和属性。
2 Array对象就像一个栈,提供了push和pop方法。Array对象又像一个队列,提供了shift和push方法。
3 对象有为三种:本地对象、内置对象和宿主对象。内置对象只有两个:Global和Math,都属于本地对象。
4 ECMAScript只存在公用作用域
5 定义类或对象一般使用“构造函数+原型”方式:用构造函数定义所有非方法的成员,用原型定义方法成员。
实现继承一般使用“对象冒充(object masquerading)+原型链”方式:用对象冒充继承构造函数的所有成员,用原型链继承原型的方法(用了原型链,instanceOf运算符才有效)。
6 改进字符串处理(将第一段改进为第二段,节约一半时间):
代码一:
代码二:
7 极晚绑定:你甚至可以在对象实例化后在定义它的方法,如下
不过不建议使用极晚绑定,因为很难对其进行跟踪和记录。
2 Array对象就像一个栈,提供了push和pop方法。Array对象又像一个队列,提供了shift和push方法。
3 对象有为三种:本地对象、内置对象和宿主对象。内置对象只有两个:Global和Math,都属于本地对象。
4 ECMAScript只存在公用作用域
5 定义类或对象一般使用“构造函数+原型”方式:用构造函数定义所有非方法的成员,用原型定义方法成员。
实现继承一般使用“对象冒充(object masquerading)+原型链”方式:用对象冒充继承构造函数的所有成员,用原型链继承原型的方法(用了原型链,instanceOf运算符才有效)。
function Animal(animalName){this.name = animalName;} Animal.prototype.showName = function(){alert(this.name);} function Bird(birdName, birdColor) { Animal.call(this, birdName); this.color = birdColor; } Bird.prototype = new Animal(); Bird.prototype.showColor = function(){alert("I am "+ this.color);} var bird = new Bird("woohu", "red"); bird.showName(); bird.showColor();
6 改进字符串处理(将第一段改进为第二段,节约一半时间):
代码一:
var str = "hello"; str += "world";
代码二:
function StringBuffer(){this._strings = new Array();} StringBuffer.prototype.append = function(str){this._strings.push(str);} StringBuffer.prototype.toString = function(){retuen this._strings.join("");}
7 极晚绑定:你甚至可以在对象实例化后在定义它的方法,如下
var o = new Object(); Object.prototype.fn = function(){alert("hello");}; o.fn();
不过不建议使用极晚绑定,因为很难对其进行跟踪和记录。
相关文章推荐
- 笔记 - JS易忘基础知识(一)(ECMAScript基础)
- 笔记 - JS易忘基础知识(一)(ECMAScript基础)
- 笔记16--Js基础知识--日期和其他对象
- 关于js对象的基础知识
- 【学习】js学习笔记:对象的一些基础知识
- [学习笔记] Java核心技术 卷一:基础知识 对象与类、继承(二)
- js关于数组和对象基础
- 笔记10--js基础知识
- Java基础知识强化之集合框架笔记45:Set集合之TreeSet存储自定义对象并遍历练习1(自然排序)
- css和javascript的一些笔记(二) js基础知识
- Java并发编程实践笔记 第一部分 基础知识 第三章 对象的共享:
- Three.js 开发基础知识 - 绘制3D对象
- 面向对象基础知识笔记(一)
- Java基础知识强化之多线程笔记05:Java中继承thread类 与 实现Runnable接口的区别
- 【js基础】js事件对象学习笔记
- js中Date对象与Math对象常用基础知识
- JS基础知识梳理---location()对象
- js对象、继承,原型链相关知识及应用心得
- js核心基础之理解原型对象以及原型继承(三)
- 【学习笔记六】 - js中 创建对象的模式与继承 及 js中实现块级作用域和函数私有变量 《js高程》6-7笔记