将三元语句转换为扩展语法

时间:2015-07-28 21:04:27

标签: javascript

我有这段代码F.onmousewheel = function (e) {zoomFactor = e.wheelDelta > 0 ? 10 : 11;}

这是小版本。但我必须(并且我正在学习)使用更大的版本,看起来像这样:

F.onmousewheel = function (e) {

};

我的问题是:如何在更大的版本中查看{zoomFactor = e.wheelDelta > 0 ? 10 : 11;}

3 个答案:

答案 0 :(得分:1)

zoomFactor = e.wheelDelta > 0 ? 10 : 11;是一个表达式,因此您只需使用该行:

F.onmousewheel = function (e) {
  zoomFactor = e.wheelDelta > 0 ? 10 : 11;
};

但是,如果您希望拆分三元表达式(?:部分),您可以执行以下操作:

F.onmousewheel = function (e) {
  if (e.wheelData > 0) {
    zoomFactor = 10;
  } else {
    zoomFactor = 11;
  }
};

三元表达主要是说if e.wheelDelta is greater than 0, return 10, otherwise return 11。然后为zoomFactor变量分配返回的值。要将其分解为if/else语句,您只需要理解三元语法。

?表示布尔表达式的结尾,即e.wheelDelta > 0。所以我们使用它作为if语句的布尔表达式。

:分隔两个选项,第一个是值,如果是真,第二个是假。因此,这些成为if的{​​{1}}和else作业。

答案 1 :(得分:1)

您可以展开ternary operator

F.onmousewheel = function (e) {zoomFactor = e.wheelDelta > 0 ? 10 : 11;}

进入if else区块:

F.onmousewheel = function (e) {
    if(e.wheelDelta > 0) {
        zoomFactor = 10;
    }
    else {
        zoomFactor = 11;
    }
};

答案 2 :(得分:1)

您的问题有点不清楚,但我猜这是您要找的:

F.onmousewheel = function(e) {
    if (e.wheelDelta > 0) {
        zoomFactor = 10;
    } else {
        zoomFactor = 11;
    }
};