1,最常用的方式,但是无法保存状态
/*开始和结束动画*/
function startAnimation(){
...
}
function stopAnimation(){
...
}
2,定一个类
/*定义类*/
var Anim = function(){
...
};
Anim.prototype.start = function (){
...
};
Anim.prototype.stop = function (){
...
};
/*实例化类*/
var myAnim = new Anim();
myAnim.start();
...
myAnim.stop();
3,把方法的定义封装到声明中
/*定义一个类,并把方法封装到声明中*/
var Anim = function(){
...
};
Anim.prototype = {
start: function(){
...
},
stop: function(){
...
}
};
4,定义一个专门添加方法的方法Function.prototype.method。它有两个参数,第一个参数是字符串,表示新方法的方法名;第二个是用作新方法的函数。
/*给Function添加一个用来加方法的method方法*/
Function.prototype.method = function(name, fn) {
this.prototype[name] = fn;
};
/*定义一个类,用method方法为它添加新方法*/
var Anim = function(){
...
}
Anim.method('start', function(){
...
});
Anim.method('stop', function(){
...
});
当然,这种方法还能实现链式调用
/*给Function添加一个用来加方法的method方法*/
Function.prototype.method = function(name, fn) {
this.prototype[name] = fn;
return this;
};
/*定义一个类,用method方法为它添加新方法*/
var Anim = function(){
...
}
Anim.method('start', function(){
...
}).method('stop', function(){
...
});
/*开始和结束动画*/
function startAnimation(){
...
}
function stopAnimation(){
...
}
2,定一个类
/*定义类*/
var Anim = function(){
...
};
Anim.prototype.start = function (){
...
};
Anim.prototype.stop = function (){
...
};
/*实例化类*/
var myAnim = new Anim();
myAnim.start();
...
myAnim.stop();
3,把方法的定义封装到声明中
/*定义一个类,并把方法封装到声明中*/
var Anim = function(){
...
};
Anim.prototype = {
start: function(){
...
},
stop: function(){
...
}
};
4,定义一个专门添加方法的方法Function.prototype.method。它有两个参数,第一个参数是字符串,表示新方法的方法名;第二个是用作新方法的函数。
/*给Function添加一个用来加方法的method方法*/
Function.prototype.method = function(name, fn) {
this.prototype[name] = fn;
};
/*定义一个类,用method方法为它添加新方法*/
var Anim = function(){
...
}
Anim.method('start', function(){
...
});
Anim.method('stop', function(){
...
});
当然,这种方法还能实现链式调用
/*给Function添加一个用来加方法的method方法*/
Function.prototype.method = function(name, fn) {
this.prototype[name] = fn;
return this;
};
/*定义一个类,用method方法为它添加新方法*/
var Anim = function(){
...
}
Anim.method('start', function(){
...
}).method('stop', function(){
...
});