如果是真的话,请拨打foo吧

时间:2011-02-21 08:04:30

标签: javascript

出于好奇,JavaScript中可能出现这样的情况吗?

var c, flag = true;
c = Math.(flag ? min : max)(a, b); // c = flag ? Math.min(a, b) : Math.max(a, b);

1 个答案:

答案 0 :(得分:5)

你几乎是对的。但它不起作用,因为在该上下文中minmax指的是什么?

您必须指定合格的标识符:

(flag ? Math.min : Math.max)(a, b)

或者您使用括号语法,只需指定属性的标识符名称:

Math[flag ? "min" : "max"](a, b)