创建对象的一种独特方式

 

   前言

 

      本文部分内容来自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");

 

    

你可能感兴趣的:(dom)