本文探讨JavaScript中富有表现力的编程技巧,重点解析面向对象编程模式。通过构造函数与原型链的应用,阐述如何保存状态及封装方法以支持迭代开发。同时深入讲解函数作为一等对象的特性,包括Function类的实例化、原型方法的扩展以及闭包的应用,旨在提升代码的结构掌控力与灵活性。
JavaScript面向对象编程模式
正题:
1.1 JavaScript的灵活性
面向对象对象的Javascript编程模式:1、可以保存状态 2、具有对象内部才能调用的方法 3、对编写的程序更能掌握其结构,能经受的起迭代开发(个人认为)
代码如下:
// 构造函数,也可通俗理解为类
var Anim=function(){
...
}
// 类中的方法,利用JavaScript的原型机制
Anim.prototype.start=function(){
...
} 注:通常建议将方法放入原型中,因为原型一般用于存储不变且通用的内容
代码
代码如下:
Function.prototype.method=function(name,fn){
this.prototype[name]=fn;
}
var Anim=function(){
}
Anim.method("start",function(){alert("开始了")})
Anim.method("stop",function(){alert("停止了")})
var anim=new Anim();
anim.start();
anim.stop(); 函数作为一等对象与原型扩展
上述代码突显出以下几点:
1、所有function都是Function这个类的对象,例如 var f=new Function("alert();")
2、我们也可以往系统默认类原型中添加方法,但这不提倡,容易混乱
函数是一等对象:
匿名函数可以创建闭包(闭包将另开一个篇进行学习)