0

为什么这不起作用?

function thing() {

    var bigvar;

    function method1() {
        bigvar = 1;
    }

    function method2() {
        alert(bigvar);
    }

    this.method1 = method1;
}

var a = new thing();
a.method1();
a.method2();
​

我想让method2工作,但它没有..有没有办法让这个工作?

4

3 回答 3

3

你没有method2method1现在这样公开。

this.method1 = method1;
this.method2 = method2;  //<-- missing this
于 2012-08-07T16:41:39.687 回答
0

为什么你有this.method1 = method1但没有this.method2 = method2?试试看。

于 2012-08-07T16:43:00.437 回答
0

为什么不这样做?

function thing() {

    var bigvar;

    this.method1 = function () {
        bigvar = 1;
    }

    this.method2 = function () {
        alert(bigvar);
    }

}

var a = new thing();
a.method1();
a.method2();​
于 2012-08-07T16:51:05.100 回答