2012-09-26 56 views
1

我有以下代碼:

$.fn.buildTableOfContent = function() { 
    var h2 = this.find('h2'); 
    if (h2.length > 0) { 

我想改變周圍它,所以它不是作爲一個變量聲明:

function $.fn.buildTableOfContent() { 
    var h2 = this.find('h2'); 
    if (h2.length > 0) { 

是否有可能做到這一點像上面?我已經爲常規功能做了這些,但不確定以$ .fn開頭的那些功能。我是否正確地說$ .fn。 jQuery名稱空間添加了函數?

+0

你爲什麼想這樣做?如果我們知道你真的想要完成什麼,那麼可能有更好的方法。 – lanzz

+0

嗯,我一直在將所有var a = function(){}轉換爲函數a(){}。我沒有轉換這個,因爲我不確定它是否與普通函數不同。 – Alan2

+0

這並沒有說明你爲什麼要做這件事。 – lanzz

回答

4

不,這是不可能的。

specification

FunctionDeclaration:
函數標識符(FormalParameterListopt){ 函數體}

FunctionExpression:
函數標識符選擇(FormalParameterListopt) {函數體}

$.fn.buildTableOfContent是一個表達式,而不是標識符,因此它是無效的語法。

相關問題