这两天在看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对象,并且没有参数. 
是里边通过其他东西给定义了?小弟一直看不明白,希望懂的人能指点下, 
谢谢!感激不尽! 
(如果描述的不够清楚,请提问)