可以寫爲:
function add_my_plugin_to_fn($) {
$.fn.myPlugin = function() {
}
}
add_my_plugin_to_fn(jQuery);
或
//window.jQuery = stuff; // in jquery initializer
function add_my_plugin_to_fn(any_object_with_fn_property) {
any_object_with_fn_property.fn.myPlugin = function() {
}
}
add_my_plugin_to_fn(jQuery);
都將一個函數添加到jQuery的fn.myPlugin財產。我們使用$的唯一原因是因爲jQuery人員喜歡使用單字母'$'作爲函數名稱。它可能很容易是jQuery.fn.myplugin
或jq.fn.myplugin
或_.fn.myplugin
。
這可以讓你擺脫情況下發生此類事情
my_awesome_javascipt_.js
function $(add_to_this) {
return add_to_this + 1;
}
jQuery.js
window.jQuery = //all the jquery stuff
//sees that window.$ already has a function in it and leaves it alone
my_jquery_plugin.js
$.fn.myplugin; //this doesn't exist because $ is a function from the first file
//you should have used jQuery.fn.myplugin. But that is a lot to type out. Doing the
立即-調用函數招強制變量「$」有文件的範圍。
是的,語言真的應該爲你做。這是一種愚蠢的機制,可以默認爲全球性的。如果你想要修復它的東西,看看coffeescript它可以幫助你寫入沒有很多基本錯誤的JavaScript
是的,只是一個參數。 –