过程式写法、面向对象写法
一、过程式写法:一个挨着一个写
二、面向对象(OOP)写法
系统自带对象:例如 Array,Date
对象的组成:
1、方法
描述:对象下面的函数就是方法。
写法:
写方法:arr.test = function(){ };
调用:arr.push()
2、属性
描述:对象下面的变量就是属性。例如:arr.name
属性和方法的区分:看是否有括号,有括号就是方法,没有括号就是属性
面向对象写法例子:
面向对象的写法
function 构造函数(){
this.属性;
}构造函数.prototype.方法 = function(){};
面向对象的使用
var 对象1 = new 构造函数();
对象1.方法();
function CreatePerson(name) { this.name = name; } CreatePerson.prototype.showName = function () { alert(this.name); }; var p1 = new CreatePerson('小明'); p1.showName(); //小明
正常代码改为面向对象写法的要求:
1、尽量不要出现函数嵌套函数,函数分开写
2、把onload中不是赋值的语句放到单独函数中
3、函数分开写造成局部变量不能使用,所以可以改为全局变量。全局变量就是属性,写在构造函数里。
4、函数就是方法,写在构造函数的原型后面。方法函数里的属性或方法前需要加上this对象。如果this对象不是想要的,把需要的this对象存在变量里,使用时用变量
5、事件函数后面的this指向改写:可以写在function(){}里,若this不是所需对象,则把需要的this对象存在变量里,重新赋值
//原来 this.aInput[i].onclick = this.change; //更改为 var This = this; //重新存储this变量 this.aInput[i].onclick = function () { This.change(); //写在function里 };
6、Onload中创建对象window.onload = function(){var t1 = new Tab();};