2012-11-17 71 views

回答

5

它調用一個名爲_的函數,並將表達式catalog.add(this)的結果作爲第一個也是唯一的參數傳遞。

該功能很有可能是由圖書館定義的功能,您可以從underscorejs.org下載該功能,這是缺乏意圖顯示變量名稱的系列圖書館中的另一種功能。

+2

請不要對Underscore聽起來那麼貶義;使用一個簡單的變量名可能會引起爭議,但這是擴展語言的一種更合理的方式,而不是通過修改內建原型來造成嚴重破壞。 – Kos

+3

它不是一個「簡單的」變量名稱,它是一個模糊的變量名稱。它甚至不會*看起來像許多人的變量名(這可能是爲什麼首先要問這個問題)。 – Quentin

+0

你會認爲'''在jQuery的(和其他)情況下更好,甚至_good_使用?就個人而言,我更喜歡'''而不是'jQuery',但我無法忍受'_' - 我認爲這很麻煩。 – Bojangles

0

http://underscorejs.org/#chaining

我並不完全相信其爲你做,但這裏的文檔。

+0

這是一個示例代碼,我正在通過它作爲一個jQuery插件來處理indexedDB。 https://github.com/axemclion/jquery-indexeddb/blob/master/example/index.html – Spinbad

+0

catalog是一個稱爲對象存儲的對象,它是indexedDB中的一種表格類型。 catalog.add(this)在遍歷一個json文件的同時添加每個值。我想知道的是將下劃線放在那裏的原因。可能是一個愚蠢的問題。我是新手。請原諒我的無知。 – Spinbad

-1

編輯:

簡答:是的,沒有什麼不同。去掉它。

從您的源js文件中,_是承諾對象的記錄結果的函數名稱。所以如果你不在意add方法返回什麼,你必須在生產代碼中刪除它。 add方法應該返回新創建的密鑰。

對我而言,那些$,i,_this沒有意義。

add(this)是非常可怕的。什麼是this

+0

也許我應該發佈整個代碼。這裏是https://github.com/axemclion/jquery-indexeddb/blob/master/example/index.html – Spinbad

+0

@Kyaw - 你問「這是什麼?」?這是[MDN]解釋的JavaScript關鍵字(https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/this)。 – nnnnnn

+0

'this'可能是一些無法克隆的對象,比如DOMElement。在這種情況下,Indexeddb應該拋出DataCloneError。我的意見,'加(這個)'一般應該避免。 –

相關問題