$.each(data, function(i){
_(catalog.add(this));//iterating through each object in objectStore
});
我在想,如果我在函數調用之前排除下劃線,會有什麼區別。函數調用add()之前的_(下劃線)有什麼區別?
更新
的OP是指jquery indexeddb plugin。
$.each(data, function(i){
_(catalog.add(this));//iterating through each object in objectStore
});
我在想,如果我在函數調用之前排除下劃線,會有什麼區別。函數調用add()之前的_(下劃線)有什麼區別?
更新
的OP是指jquery indexeddb plugin。
它調用一個名爲_
的函數,並將表達式catalog.add(this)
的結果作爲第一個也是唯一的參數傳遞。
該功能很有可能是由圖書館定義的功能,您可以從underscorejs.org下載該功能,這是缺乏意圖顯示變量名稱的系列圖書館中的另一種功能。
http://underscorejs.org/#chaining
我並不完全相信其爲你做,但這裏的文檔。
編輯:
簡答:是的,沒有什麼不同。去掉它。
從您的源js文件中,_
是承諾對象的記錄結果的函數名稱。所以如果你不在意add
方法返回什麼,你必須在生產代碼中刪除它。 add
方法應該返回新創建的密鑰。
對我而言,那些$
,i
,_
和this
沒有意義。
add(this)
是非常可怕的。什麼是this
?
也許我應該發佈整個代碼。這裏是https://github.com/axemclion/jquery-indexeddb/blob/master/example/index.html – Spinbad
@Kyaw - 你問「這是什麼?」?這是[MDN]解釋的JavaScript關鍵字(https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/this)。 – nnnnnn
'this'可能是一些無法克隆的對象,比如DOMElement。在這種情況下,Indexeddb應該拋出DataCloneError。我的意見,'加(這個)'一般應該避免。 –
函數'_'的定義是什麼?它不是來自JQuery;也許它來自underscore.js,但它並不真正在這裏響起。 – Kos