附加在字符串中的Javascript变量不会被替换'的原始值
Javascript variables appended in a string not getting replaced with it's original value
字符串''+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 likes your post"??
在以下代码工作中,
console.log(''+notify_name+' likes your post.'); /*tintu likes your post*/
我的第一个猜测是:您将STRING保存在数据库中,当取出它时,它仍然是一个字符串,因此很可能转义了"和+":''和''+。
您试图完成的是在数据库中保存一个字符串,以便稍后插入变量的值。
我的方法是:保存类似"{0}喜欢你的帖子"的内容,然后在上面使用某种printf函数。
看看:相当于printf/string.format 的JavaScript
JS中没有automagic替换,您将不得不自己使用body.replace("+notify_name+",notify_name);
。
它在日志中起作用的原因是。因为JS按照你的要求做了:"是一个空字符串,然后你将名称和文本"喜欢你的帖子"链接起来。
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何显示替换为后的原始元素
- 如何使用 jquery 将编辑后的行替换为其在表中的原始显示
- 咕噜咕噜的丑陋 - 替换原始文件
- 表情符号、带有原始图标的文本区域和带有替换图标的文本字段
- JS 替换返回原始字符串
- 附加ID而不替换原始ID
- 将tinyMCE内容替换为原始文本
- 附加在字符串中的Javascript变量不会被替换'的原始值
- Ajax get,如果没有找到原始url,则替换url
- 为什么旧的原型属性在替换原始原型对象后仍然可用
- 如果图像路径存在,则替换文本,如果不存在则显示原始图像
- 全局对象返回原始值,即使它已被替换
- 如何替换数组元素而不修改原始数组并创建副本
- es7对象扩展表示法如何创建浅拷贝来替换原始对象
- 在一个重复的字符串数组中,为什么替换重复数组中的文本会改变原始数组
- 谷歌图表:如何在可视化中替换数据表元素,但不在原始表中(DataView方法不起作用)
- AngularJS指令在断点处替换html,不会重置为原始元素
- 没有任何Async后缀的Bluebird PromisifyAll,即尽可能替换原始函数