差值表达式的处理——用正则表达式,匹配差值表达式的模式,实现值的修改
用正则表达式,匹配差值表达式的模式,实现值的修改
<body>
<script>
// 实现——用 name的值'zs' ,替换 Name 中的 插值表达式(其内可能存在空格)
// 方法——用正则表达式,匹配差值表达式的模式
var data = {
name: 'zs'
}
var value = 'Name: {{ name }}'
// 正则表达式,匹配差值表达式的模式
// 正则表达式中的() 分组
// . 是任意单个字符 , + 是量词,修饰前面的任意字符
var reg = /\{\{(.+)\}\}/
// console.log(RegExp.$1) ——>没调test,控制台打印显示 为 空
if (reg.test(value)) {
// 1.确保匹配到差值表达式
// console.log('....') ——>控制台打印显示 .... ,证明匹配正则成功
// 2.获取差值表达式中的内容name
// 当正则匹配后,获取分组匹配的结果 $1 就是匹配第一组(第一个小括号获取的结果)
// console.log(RegExp.$1) ——> 控制台打印显示 name ,但name前后有空格
// .trim() 去空格
var key = RegExp.$1.trim()
// replace() 替换
//释义:用data中的key属性,可以获取到 值,然后 用获取到的值 把正则表达式 匹配到的结果插值表达式{{ name }} 给替换掉
value = value.replace(reg, data[key])
console.log(value) // 控制台打印显示 Name:zs
}
</script>
</body>