这两天在看prototype中的一些技巧,遇到如下问题,看不懂,希望高手指点下我和更菜的新手:
里边有这个东西:
Element.Methods = {
visible: function(element) {
return $(element).style.display != 'none';
}, toggle: function(element) {
element = $(element);
Element[Element.visible(element) ? 'hide' : 'show'](element);
return element;
},
......
}
以上是对HTML对象的方法扩展,
可是看到实际应用的时候使用了:
$(element).visible();
这种写法,小弟看不懂如何直接把方法追加给HTML对象,并且没有参数.
是里边通过其他东西给定义了?小弟一直看不明白,希望懂的人能指点下,
谢谢!感激不尽!
(如果描述的不够清楚,请提问)
里边有这个东西:
Element.Methods = {
visible: function(element) {
return $(element).style.display != 'none';
}, toggle: function(element) {
element = $(element);
Element[Element.visible(element) ? 'hide' : 'show'](element);
return element;
},
......
}
以上是对HTML对象的方法扩展,
可是看到实际应用的时候使用了:
$(element).visible();
这种写法,小弟看不懂如何直接把方法追加给HTML对象,并且没有参数.
是里边通过其他东西给定义了?小弟一直看不明白,希望懂的人能指点下,
谢谢!感激不尽!
(如果描述的不够清楚,请提问)
Array.prototype.slice.call(arguments, 1);将 arguments 伪装成 array 然后让其有方法 arguments. slice()