我一直在尋找一種方式來表單數據JavaScript對象轉換與jQuery和我碰到這個線程傳來:Convert form data to JavaScript object with jQuery 最受歡迎的答案是有這個代碼是:的jQuery/JavaScript代碼的解釋
$.fn.serializeObject = function() {
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name] !== undefined) {
if (!o[this.name].push) { // ???
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
然而在它裏面的一段代碼,我不能確定到底是什麼做的(我認爲是錯誤的)
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
對象沒有屬性命名的推動。有一個JS數組方法.push()
,除了將元素推入數組之外,它還返回數組中元素的數量,但在這種情況下,沒有大括號,更別說了,如您所見,o
是一個對象。我用console.log試過這段代碼,但它從不執行。你們有沒有任何想法,這個if語句的目的是什麼?此代碼也在其他線程中,因此我不確定此代碼的作者是誰。
預先感謝您
請把標題更具描述性的,即一個人的適用於相關的一切的JavaScript/jQuery的。 – JackHasaKeyboard