附加在字符串中的Javascript变量未被其原始值

时间:2015-10-29 06:32:00

标签: javascript node.js

字符串''+ notify_name +'喜欢你的帖子。'来自数据库。我们将此静态字符串存储在数据库中。

变量 ntfnFound [0] .body 包含我们从数据库中提取的字符串。

var notify_name = 'tintu';

console.log(ntfnFound[0].body);   /* ''+notify_name+' likes your post.' */

var body = ntfnFound[0].body;

console.log(body);   /* ''+notify_name+' likes your post.' */

console.log(''+notify_name+' likes your post.');   /*tintu likes your post*/

我的问题是,

在上面的代码中为什么不'console.log(body);'显示'tintu喜欢你的帖子'??

为什么+ notify_name +没有被替换?

还有什么解决方案可以将'var body'中的字符串转换为'tintu喜欢你的帖子'??

在以下代码中,

console.log(''+notify_name+' likes your post.');   /*tintu likes your post*/

2 个答案:

答案 0 :(得分:1)

我的第一个猜测是: 你把STRING保存在你的数据库中,当它拉出来时,它仍然是一个字符串,所以'和+必须转义:\'和\ +。

您要完成的任务是在数据库中保存一个字符串,以后您要插入变量的值。

我的方法是:保存“{0}喜欢你的帖子”等内容,然后在其上使用某种printf函数。

查看:JavaScript equivalent to printf/string.format

答案 1 :(得分:0)

JS中没有自动替换 - 您必须自己使用body.replace("+notify_name+",notify_name);

它在日志中工作的原因是。因为JS做了你告诉它要做的事情:''是一个空字符串,然后你链接了名称和文字“喜欢你的帖子'。