我一直在寻找一种方式来表单数据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