读书人

一个精巧的小小疑点

发布时间: 2012-07-30 16:19:05 作者: rapoo

一个精巧的小小问题

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 

读书人网 >JavaScript

热点推荐