首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

一个精巧的小小疑点

2012-07-30 
一个精巧的小小问题js里面想这么定义:function A(){this.a 1this.f function(){this.a 2}}想用f访

一个精巧的小小问题

js里面想这么定义:
function A(){
 this.a = 1;
 this.f = function(){
  this.a = 2;
 }
}
想用f访问A下的属性a,这么写显示undefined。
如何才能实现目的呢?

[解决办法]
你这是要从新给a赋值吗?
是的话可以这样
this.a = 2;
return this.a;
[解决办法]

JScript code
function A() {        this.a = 1;        this.f = function () {            this.a = 2;            return this.a;        }    }    var a = new A();    alert(a.a)    a.f();    alert(a.a)
[解决办法]
function A(){
 this.a = 1;
 this.f = new B();
}
function B(){
this.a = 2;
}

var temp = new A();
alert( temp.f.a);
[解决办法]
探讨
你这是要从新给a赋值吗?
是的话可以这样
this.a = 2;
return this.a;

[解决办法]
JScript code
        function A() {            this.a = 1;            var sender = this;            this.f = function () {                sender.a = 2;                            }        }        var c = new A();         c.f();        alert(c.a);// 为2 

热点排行