2012-10-31 25 views
1

只要看看任何jQuery插件的源代碼。它總是爲什麼jQuery將其原型別名爲`fn`?

$.fn.pluginName = function() { 
    foo('bar'); 
    return baz; 
}; 

在什麼地方fn名字從何而來,它只是一個簡單的別名就是$.prototype呢,還是服務於其他目的(S),以及?

+1

Checkout http://stackoverflow.com/questions/5527031/jquery-fn-namespace和http://stackoverflow.com/questions/11542017/what-does-fn-in-jquery-stand-for –

+1

也http ://stackoverflow.com/questions/1755080/why-jquery-do-this-jquery-fn-init-prototype-jquery-fn – Musa

+0

https://github.com/jquery/jquery/blob/master/src/core .js#L84 – Nemoden

回答

1

jquery source

jQuery.fn = jQuery.prototype = { 

這只是一個別名,快捷方式,就像jQuery$如何是相同的。

+0

很好,但是他們從哪裏得到字符串「fn」?這在我的腦海中喚起了「功能」一詞,這是沒有意義的。 'jQuery.pt'不會更有意義嗎? – wwaawaw

+0

@adlwalrus我不知道。它可能是一個內部故事或類似的東西。我會嘗試挖掘舊的來源。編輯:也許這是表示應該只有那裏的功能? – Zirak

+0

@adlwalrus在irc上提問時,他們似乎認爲我是,所以我[推特](https://twitter.com/zirakertan/status/263576846350823424)John Resig。希望我們會有答案。 – Zirak

1

fn是jquery庫控件元素選擇的一部分,所以$.foo = function() {};將不存在$('#a').foo();$.fn.foo = function() {};會。同樣,如果您嘗試$.foo();$.fn.foo將不存在。它也使得這個關鍵字與當前使用的元素相關。而你對「有FN任何jQuery插件」的評論是不正確的;)

相關問題