我有2个具有值的javascript变量:
var Name = 'John';
var Age = '14';
Run Code Online (Sandbox Code Playgroud)
和另一个看起来像这样的字符串变量:
var message = 'I am **Name** and my age is **Age**';
Run Code Online (Sandbox Code Playgroud)
如何将字符串中的值Name和Age变量注入message字符串以替换值**Name**和**Age**'John'和'14'?
var newmessage = 'I am John and my age is 14';
Run Code Online (Sandbox Code Playgroud)
我可以使用javascript函数来执行此操作吗?
使用String#replace方法并从window对象获取变量(仅当在全局上下文中定义变量时,才能使用您需要使用eval()我不喜欢使用的方法的其他方法).
var Name = 'John';
var Age = '14';
var message = 'I am **Name** and my age is **Age**';
var newmessage = message.replace(/\*\*([\w\d]+)\*\*/g, function(m, m1) {
return window[m1];
});
console.log(newmessage)Run Code Online (Sandbox Code Playgroud)
或者使用对象而不是变量来存储值,这样即使它没有在全局上下文中定义,您也可以轻松获得值.
var obj = {
Name: 'John',
Age: '14'
};
var message = 'I am **Name** and my age is **Age**';
var newmessage = message.replace(/\*\*([\w\d]+)\*\*/g, function(m, m1) {
return obj[m1];
});
console.log(newmessage)Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39 次 |
| 最近记录: |