如何使用串联匿名函数追加到字符串
How to append to string with a concatenated anonymous function?
var universe = true;
var string = 'hello ' + (() => {
if (universe = true) {
return 'universe';
} else {
return 'world';
}
});
为什么这不返回"你好宇宙"?我怎样才能做到这一点?我正在尝试动态构建一个字符串 - 我的特定用例是创建 HTML。
您只需将
函数引用与字符串连接起来,这将导致将该函数对象的基元值连接到目标字符串。因此,在这种情况下,您必须调用该函数,而不是直接连接它。
var universe = true;
var string = 'hello ' + (() => {
if (universe == true) {
return 'universe';
} else {
return 'world';
}
})();
代码的最易读版本是,
var universe = true;
var fetchResult = () => (universe) ? 'universe' : 'world';
var string = 'hello ' + fetchResult();
另请注意,您在 if 语句中分配一个值,而不是比较它。那,如果语句将始终被计算为true
块,因为universe = true
将始终计算为true
。
你需要调用匿名函数:
var universe = true;
var string = 'hello ' + (() => {
if (universe = true) {
return 'universe';
} else {
return 'world';
}
})(); // <--- notice () here
更简洁的方式
var universe = true;
var string = 'hello ' + (() => universe ? 'universe' : 'world')();
相关文章:
- Jquery在表WITH函数中追加新行后添加单击事件
- 在函数中定位动态创建的HTML元素(用于追加事件 - 而不是点击!)jQuery
- 如何在追加函数创建后最小化单个框
- 将行追加到表后的 jquery 函数
- 在对象中追加或编辑函数的最快方法是什么
- 在追加一行并调用其中的时差函数时生成动态id
- jquery惰性加载和其他jquery/javascript函数;追加后无法工作
- 在Jquery中,通过追加函数以指数形式添加Div
- 如何使用串联匿名函数追加到字符串
- jQuery追加函数在IE8中不起作用
- 问题在于克隆、拼接、删除、追加 jquery 函数
- 如何将动态追加元素的多个值存储到单个 var 中,然后检索到函数中
- 将代码追加到现有函数的末尾
- jQuery 追加函数中的 Javascript if 语句
- 角度动态内容,类似于jQuery函数中的追加
- Ajax 函数在 JQuery 追加中调用时不起作用
- 如何在追加数据并完成该数据的函数后连续运行函数
- 将 JSON 数据追加到自定义 JQuery 函数中
- 将元素追加到调用createElement()函数的父级
- 无法通过javascript函数追加行