我试图在对象中放入一个if语句,但我不确定它是否可行。
这就是我的目标。
function typed(){
$(".code-animate").typed({
strings: options.typed.strings,
typeSpeed: options.typed.typeSpeed,
backSpeed: options.typed.backSpeed,
contentType: 'text',
loop: true,
if(options.typed.callback)callback: options.typed.callback // this is what I am trying to do
});
}
答案 0 :(得分:4)
你总是可以把它拉到外面:
{ case WM_ENTERSIZEMOVE:
render->UpdateRender();
break;
}
答案 1 :(得分:4)
有几种方法可以达到你想要的效果:
三元运营商:
var foo = {
callback: someValue ? someValue : null
}
OR运算符(在大多数简单情况下,往往比三元更优雅):
var foo = {
callback: someValue || null
}
发布对象创建插入:
var foo = {};
if (someValue) foo.callback = someValue;
请注意,在前两种情况下,您的对象将始终具有名为“callback”的成员。如果不满足条件,它将具有null
值。在最后一种情况下,如果不满足条件,则您的对象将没有名为“callback”的成员。如果这对您来说很方便,可以使用else
语句强制您的对象使用空值进行“回调”。
答案 2 :(得分:2)
您可以先构建对象,然后在键入的函数中使用它:
var params = {
strings: options.typed.strings,
typeSpeed: options.typed.typeSpeed,
backSpeed: options.typed.backSpeed,
contentType: 'text',
loop: true,
}
if( something == true ) { params.test = 'qwerty'; }
$(".code-animate").typed(params);
答案 3 :(得分:2)
如果目标是使用三元运算符而不是if
,那就是这样:
Object.assign(
{
key1: value1,
key2: value2,
},
cond ? {key3: value3} : {}
)