如何为Array属性创建短名称

时间:2011-03-14 20:38:17

标签: javascript function-prototypes

我经常在输入单词“length”时输入错字号,并希望为此属性命名。例如“len”

我可以轻松制作一个Array方法:

Array.prototype.len = function(){ return this.length }

然后我应该用括号调用[1,2,3] .len()...
但如何制作房产? (并用[1,2,3] .len调用

我尝试过这样的事情:

Array.prototype.len = (function(arr) {return arr.length})(this)

这个不会以这种方式出现

提前致谢

1 个答案:

答案 0 :(得分:2)

像这样定义getter

Array.prototype.__defineGetter__("len", function() {
    return this.length;
});

var arr = [1, 2, 3];
arr.len // 3

(请注意:正如上面的评论所述,修改本地对象的prototype通常是一个坏主意。另请注意,浏览器对JavaScript getter / setter的支持可能很粗略。)