Js的引用关系示例和总结

      三种引用(指针引用)关系,借助引用关系可以形成复杂的链关系,巧妙借助链关系可以实现收放自如,形散神不散的神奇效果,jquery就是其中一例:

        1.对象指向属性;
        2.a=b(b是对象,a为变量),a指向b;
        3.实例对象指向其原型对象;

    我们这里做个验证,兴建一个no原型:

 var no=function(){
		  return new temp.init();
		 }

  这个原型在window上下文下返回一个构造实例对象new temp.init().

   接着让temp做中间变量来引用no原型对象里的内容:

   

 var temp=no.prototype={ //将no原型赋给temp对象,让temp可以引用到no原型,这样做的好处是可以借助temp对象来扩展no原型而不污染no原型
		 	init:function(){
		 		var a=10;
		 		this["pro"]=a;
		 	},
		 	func1:function(){
                         alert("func1");
		 	}
		 }

  让" var temp=no.prototype={}"这样的好处是可以让temp引用到no原型,可以借助temp来扩展no原型而不污染no原型,至于怎么扩展,就在下面这点睛一笔:

  temp.init.prototype=temp;

  这句话的意思是:temp.init.prototype=temp=no.prototype,很直观的可以看到temp.init的实例可以借助引用关系访问到temp对象内容和no.prototype对象内容。

    下面来验证是否能借助引用访问到:     

        temp.func2=function(){
             	alert(2);
             }

          no().func1(); //no.prototype里属性,可以访问
          no().func2(); //temp对象扩展内容,也可以访问

  巧妙运用引用关系的链结构,你会越来越体会到Js更神奇的魅力和创造性。

posted @ 2016-04-08 10:03  光辉的一角  阅读(516)  评论(0编辑  收藏  举报