首页 > 代码库 > javascript设计模式1
javascript设计模式1
普通写法
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());}
javascript设计模式1
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。