2013-03-25 117 views
0

为什么如果我定义jQuery.fn.my_method = function(){...},jQuery.my_method不是未定义的,即使我把my_method放在.fn属性下,而不是直接放在jQuery下?jquery插件内部工作

我只是好奇。

<script> 
    jQuery.fn.my_method = function(){...}; 
    jQuery.my_method();//valid call even though i put my_method under .fn 
</script> 

回答

1

jQuery.fnjQuery.prototype的别名,就像$如何为jQuery的别名。你描述的是完全正常的,你正在向原型添加一个方法,然后在对象上变得可用。

我建议你阅读JavaScript prototypes

+0

哦,我明白了...谢谢。我知道有关原型,如果程序无法直接在对象下找到函数,它会查找其原型。另外原型只能在实例化之前在函数上定义。 – ionescho 2013-03-25 12:03:24