首页 新闻 会员 周边

o是一个object对象,那么o[this['name']]是什么意思?

0
[已解决问题] 解决于 2016-04-27 18:31

请教一下这段Jquery代码中的一个问题:o是一个object对象,那么o[this['name']]是什么意思?

代码实例:

var o = {};
$.each(form.serializeArray(), function (intdex) {
    if (o[this['name']]) {
        o[this['name']] = o[this['name']] + "," + this['value'];
    } else {
        o[this['name']] = this['value']
    }
});
return o;

德展自动化的主页 德展自动化 | 菜鸟二级 | 园豆:206
提问于:2016-04-05 14:36
< >
分享
最佳答案
0

第一次在播客上提问,这么快就得到大家的回复,再次表示真诚的感谢!

经过前台页面的调试,彻底弄懂是怎么回事了,下面我完整的解释一下

var o = {};//定义一个空的Js对象
$.each(form.serializeArray(), function (intdex) {//将一个表单元素序列化成Json对象数组,并遍历这个对象数组
    if (o[this['name']]) {//如果对象数组中有键为name的元素,给这个元素追加一个值
        o[this['name']] = o[this['name']] + "," + this['value'];
    } else {
        o[this['name']] = this['value']//如果没有值,就这个这个成员添加一个对象,键为name,值为遍历对象中的值
    }
});
return o;//最后将这个对象返回

可能语言描述不是很合适,但是这便最关键的知识点就是JS中关于对象的操作,开始就是没有明白这一点,所以看不懂

德展自动化 | 菜鸟二级 |园豆:206 | 2016-04-07 14:30
其他回答(3)
0

第一个问题 form.serializeArray() 是什么

http://www.cnblogs.com/lihuiyy/archive/2012/07/17/2596450.html

第二个问题

this['name'] 是什么 

this['name']  是 form.serializeArray()  每一项的name值 也就是输入框(input)的name值

第三个问题

o[this['name']] 是什么 

这看不懂 

o["输入框的name值"] 这个看得懂吧

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2016-04-05 14:52

谢谢您的答复!

支持(0) 反对(0) 德展自动化 | 园豆:206 (菜鸟二级) | 2016-04-07 14:32

  我接触C#时间不久,开始以为这个没什么难的,但是越来越发现,牵涉的东西太多了,尤其是前台的相关知识。还是JavaScript这些基础知识掌握的不好。

  再次表示感谢!

支持(0) 反对(0) 德展自动化 | 园豆:206 (菜鸟二级) | 2016-04-07 14:36
0

var name = this['name'];

o[name];

 

这样写是不是就懂了?

刘宏玺 | 园豆:14020 (专家六级) | 2016-04-05 16:34
0

如果有多项,用逗号拼接值,否则,直接赋值。

上帝之城 | 园豆:2549 (老鸟四级) | 2016-04-05 23:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册