【发布时间】:2011-03-14 20:38:16
【问题描述】:
我在输入单词“length”时经常出现拼写错误,并想为该属性起一个短名称。例如“len”
我可以很容易地制作一个数组方法:
Array.prototype.len = function(){ return this.length }
但是我应该用括号调用 [1,2,3].len()...
但是如何创建一个属性? (并用 [1,2,3].len 调用它)
我尝试过这样的事情:
Array.prototype.len = (function(arr) {return arr.length})(this)
但是这个不是这样看的
提前致谢
【问题讨论】:
-
不要扩展原生原型。你可以定义
Array.len = ...并调用Array.len([1,2,3])虽然 -
这么一个函数,可以作为属性调用?你可能想看看 getter,但 IE 不支持它。
-
是的,我明白了,__ defineGetter __ 会帮助我,但 IE 不支持它 =(
标签: javascript function-prototypes