1 //想通过列子说明对象内部定义的对象拥有父亲对象的所有属性和方法 2 var jQuery = function( ) { 3 return new jQuery.prototype.init(); 4 } 5 jQuery.prototype={ 6 init:function(){ 7 8 }, 9 name:"小明" 10 } 11 //将jQuery对象的原型链指向init对象的原型。让init拥有jQuery对象的方法 12 jQuery.prototype.init.prototype = jQuery.prototype; 13 //var j=new jQuery(); 14 alert(jQuery().name)
列子说明:
首先执行alert(jQuery().name)方法时:如果没有下面这句
jQuery.prototype.init.prototype = jQuery.prototype;
jQuery的方法new出来的对象无法获取到jQuery定义的name属性以及其他方法;
现在要想让init 构建出来的对象可以访问到jQuery定义的属性和方法。就必须将jQuery的原型对象引入赋值给init对象。
这样init对象就拥有了jQuery定义的所有的方法和属性。