根据三元运算符选择函数

use*_*240 3 javascript

我有一个代码:

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

但它不起作用.有可能做我想要的吗?

bfa*_*tto 11

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

(c==1?a:b)(':p');
Run Code Online (Sandbox Code Playgroud)

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

[c==1?a:b][0](':p');
Run Code Online (Sandbox Code Playgroud)