Js的引用关系示例和总结
2024-08-24 13:50:55
三种引用(指针引用)关系,借助引用关系可以形成复杂的链关系,巧妙借助链关系可以实现收放自如,形散神不散的神奇效果,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更神奇的魅力和创造性。
最新文章
- USACO翻译:USACO 2013 NOV Silver三题
- button按钮波纹,箭头特效css
- HTML5语义化标签
- html只允许输入的数据校验,只允许输入字母汉字数字等
- linux虚拟机系统的复制或克隆后续问题解决!
- Java基础相关
- [POJ 1787]Charlie's Change (动态规划)
- 用jquery判断当前显示器的分辨率,加载不同CSS
- HDU 4864 Task (贪心)
- Android自定义视图教程
- 模拟(堆):USACO Jan11 瓶颈
- leetCode 70.Climbing Stairs (爬楼梯) 解题思路和方法
- 字符串数组越界bug(2)
- LeeCode-Majority Element
- Extjs4中的布局
- 如何估算网站日承受最大访问PV
- C语言可变參函数的实现
- Keras官方中文文档:Keras安装和配置指南(Windows)
- 如何给 mongodb 设置密码
- MySQL主主同步配置