根据三元运算符选择函数

时间:2013-12-09 17:39:40

标签: javascript

我有一个代码:

a=function(x){alert(x)}
b=function(x){document.write(x)}
c=1;
[c==1?a:b](':p');

但它不起作用。可以做我想做的事吗?

1 个答案:

答案 0 :(得分:11)

是的,只需用括号替换方括号即可。您正在创建一个数组文字,但是您想要隔离一个表达式:

(c==1?a:b)(':p');

这也可行,但没有理由使用它:

[c==1?a:b][0](':p');