前言:
本文部分内容来自Snandy的《使用隐藏的new来创建对象》,感谢作者,
最近回头关注jQuery Event相关,个人做积累学习用!
jQuery.Event有一段这样的代码:
//版本:http://code.jquery.com/jquery-1.4.js jQuery.Event = function(src){ //注意这里。。。 if(!this.preventDefault){ return new jQuery.Event(src); } 。。。。 };
正文:
一般的对象我们最简单直接的方式就是:
function Person(name){ //.... } //装一些方法 Person.prototype = { getName:function(){ //.... }, setName:function(name){ //.... } }; //使用new关键字进行实例化 var web_develper = new Person("zhangyaohcun");
下面我们换一种方式,想想把new 能不能扔到里面?
function Person(name){ //移入到这边!! //加一个判断 if(!this.getName){ return new Person(name); } //.... } //创建的方式上就有点变化了,去掉new了(其实严格上说是隐藏到内部了) var web_develper = Person("zhangyaohcun");