1

考虑以下 Java 脚本代码:

    var myObj = function (  ) {
        var x = 0;
        return {
            addup: function (y) {
                x += y;
            },
            getX: function (  ) {
                return x;
            }
        }
    }();

这个函数返回一个有两种方法的对象(如果我没记错的话)。

现在,两个问题:

  1. 如何调用从函数返回的两个方法?
  2. 这些方法仍然可以访问变量 x 吗?

谢谢,

4

3 回答 3

5
  1. myObj.getX();myObj.addup(5);
  2. 是的,他们仍然可以访问

示例 - http://jsfiddle.net/qWT9N/

于 2012-08-21T13:44:33.130 回答
2

如何调用从函数返回的两个方法?

myObj.addup(10);
var xValue = myObj.getX();

这些方法仍然可以访问变量 x 吗?是的

于 2012-08-21T13:45:30.143 回答
-1

myObj您已经创建了具有私有属性x和两个公共方法的“模板”对象。

根据您的“模板”调用创建对象var obj = myObj();

  1. obj.addup(2);你可以这样称呼他们obj.getX();
  2. 是的,这些方法可以访问x它们的私有变量
于 2012-08-21T13:45:33.837 回答