为了账号安全,请及时绑定邮箱和手机立即绑定

为什么replace方法回调函数中JSON不能用点语法调用?

为什么replace方法回调函数中JSON不能用点语法调用?

墨色风雨 2018-10-17 18:13:57
下面代码弹窗是{}部分是undefinedvar str = "今天{tianqi}很好,我的{xinqing}很糟,因为明天是{qingren}节!";     var dictionary = {        "tianqi":"天气",         "xingqing":"心情",        "qingren":"情人"      }      str = str.replace(/{(\w+)}/g,function(match,$1){        console.log($1);        return dictionary.$1;      });      alert(str);但用中括号是可以的:     var str = "今天{tianqi}很好,我的{xinqing}很糟,因为明天是{qingren}节!";     var dictionary = {        "tianqi":"天气",              "xingqing":"心情",        "qingren":"情人"      }      str = str.replace(/{(\w+)}/g,function(match,$1){        console.log($1);        return dictionary[$1];      });      alert(str);为什么?
查看完整描述

1 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

> var a = {A: "test", B: "what"}

undefined

> var A = 'B'

undefined

> a.A

'test'

> a[A]

'what'

a.A => a['A'] (这里A是字符串)


查看完整回答
反对 回复 2018-11-17
  • 1 回答
  • 0 关注
  • 542 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信