我经常在输入单词“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)
但这个不会以这种方式出现
提前致谢
答案 0 :(得分:2)
像这样定义getter
:
Array.prototype.__defineGetter__("len", function() {
return this.length;
});
var arr = [1, 2, 3];
arr.len // 3
(请注意:正如上面的评论所述,修改本地对象的prototype
通常是一个坏主意。另请注意,浏览器对JavaScript getter / setter的支持可能很粗略。)