普通写法
function startAnimation(){
...
}
function stopAnimation(){
...
}
对象类
/*Anim class*/
var Anim=function(){
...
};
Anim.prototype.start = function() {
...
};
Anim.prototype.stop = function() {
...
};
/*Usage*/
var myAnim=new Anim();
myAnim.start();
...
myAnim.stop();
...
也可以这样写
var Anim=function(){
...
};
Anim.prototype={
start:function(){
...
},
stop:function(){
...
}
};
再尝试一种
Function.prototype.method=function(name,fn){
this.prototype[name]=fn;
};
var Anim=function(){
...
};
Anim.method('start',function(){
...
});
Anim.method('stop',function(){
...
});
更进一步
Function.prototype.method=function(name,fn){
this.prototype[name]=fn;
return this;
};
var Anim=function(){
...
};
Anim.method('start',function(){
...
}).
Anim.method('stop',function(){
...
});
利用匿名函数我们可以这样
(function(){
var foo=10;
var bar=2;
alert(foo*bar);
})();
也可以这样
(function(foo,bar){
alert(foo*bar);
})(10,2);
在js中,一切都是对象
function displayError(message){
displayError.numb++;
alert(message);
};
displayError.numb=0;
引申一下
function Person(name,age){
this.name=name;
this.age=age;
};
Person.prototype={
getName:function(){
return this.name;
},
getAge:function(){
return this.age;
}
}
var alice=new Person('Alice',26);
var bill=new Person('Bill',23);
Person.prototype.getGreeting=function(){
return 'Hi'+this.getName()+'!';
};
alice.displayGreeting=function(){
alert(this.getGreeting());
}