js 对象的属性带[ 如何表示??

  var params      = {};
  params.order_id = '2022555555';
  params.payment[pay_app_id]     = 'weixin';

上面的代码报错,我想给对象params 对象一个属性 payment[pay_app_id]
如何解决呢??

阅读 3.9k
5 个回答

建议属性名中不要带有 '[]' 符号,通过 params["payment[pay_app_id]"] = 'weixin' 可以成功的设置属性的值,但是读取属性的值也只能使用这种方式读取 params["payment[pay_app_id]"] ;而不能使用‘ . ’的方式读取;在考虑到有可能会有其他人一起维护代码的情况,一旦其他人使用了‘ . ’的方式来读取就会出现错误。

js中还有一种对象属性访问方式 params["payment[pay_app_id]"] 可以解决属性名中带符号的问题。

var params      = {};
  params.order_id = '2022555555';
  params.payment = []; // 初始化payment
  params.payment['pay_app_id']     = 'weixin'; // 给payment添加pay_app_id属性

`

var params      = {};
params.order_id = '2022555555';
params['payment[pay_app_id]'] = 'weixin';

`

params['payment[pay_app_id]'] = 'weixin';

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题