Js的引用关系示例和总结

时间:2023-03-09 03:18:18
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更神奇的魅力和创造性。