如下代码:
(1)
- var xx = function() {
- this.a = "xx";
- this.b = this.a;
- }
- alert(new xx().b);
(2)
- var x = function() {
- this.a = "x";
- this.b = {a:"x.b",b:this.a,c:function(){return this.a;}};
- }
- var s = new x();
- alert(s.b.c());
代码(1)的结果是 "xx" ,也就是说this.b = this.a 引用的本对象中的另一个属性也就是a,
但 (2)中的结果是 "x.b",这本来也是我意料中的事,因为肯定是引用着本对象中的a,但b:this.a,这里的a为什么引用的是x 类中的a变量而不是 b变量中的a变量中呢?是不是因为对象直接量中的属性(非function属性)不用引用或者说不存在this指针?请指点一下……….
本文链接http://www.cxybl.com/html/wyzz/JavaScript_Ajax/20130311/37063.html
欢迎大家阅读《js 对象引用:请指教对象直接量中引用th…_js》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码