带数组的Javascript类无法获取长度

时间:2013-05-24 15:24:23

标签: javascript arrays

我有一个包含数组的自定义javascript类,当我添加一个返回长度的方法时,它总是为0.我确定它缺少了什么......有什么想法吗?

http://jsfiddle.net/ypWsZ/1/


function MyObject(){
    this.name='';
}

var selected = (function(){
    var arr = new Array();

    return {
        add : function(s){
            arr.push(s);
        },
        length: function(){
            return arr.length;
        }()
    };
})();

$(document).ready(function(){
    var obj = new MyObject();
    obj.name = 'test';

    selected.add(obj);
    selected.add(obj);
    alert(selected.length);
});

1 个答案:

答案 0 :(得分:3)

    length: function(){
        return arr.length;
    }()

错字:length是调用匿名函数的结果(0)。最后删除()并使用:

alert(selected.length());