了解'switch'和'if'语句如何用于相同的结果

时间:2016-08-03 12:26:01

标签: javascript

作为考试准备的一部分,学生将获得一系列可能的问题。其中一个让我感到困惑,我无法自己获得答案。 问题是这样的(文学复制粘贴):

发表声明,

switch (x) {
    case 0: x=1; break;
    default: x=0;
}

您如何使用if语句获得相同的结果?

为此,您可以选择四种可能的答案。

  1. if (x===0) x=1; else x=0;
  2. if (x) x=1; x = 0;
  3. if (x) x=1; else x=0;
  4. if (x===0) x=1; if (x!=0) x=0;
  5. 请有人向我解释这个问题的正确解决方案吗?

4 个答案:

答案 0 :(得分:0)

答案是1。

您提供的switch语句基本如下。

test.php

有不同的情况使一个人比另一个更理想。

编辑:

Based on the value of X do the following;
If X is equal to 0, make x equal 1.
Otherwise, make x equal 0.

考虑到这一点,上述陈述可以如下;

switch (x) - This translates roughly to the 'if (x === )' part of the if statement.
case 1     - This is the second paramater in the if, in this case it would be 'if (x === 1)'
case 2     - This is again the second paramater in the if, in this case it would be 'if (x === 2)'
case "3"   - This is again second paramater in the if, in this case it would be 'if (x === "3")'
default    - This defines the 'default' operation, which evaluates to the 'else' part of an if statement.

作为if语句,它将如下;

switch (x):
    case 1:
        x = 1;
        break;
    case 2:
        x = 2;
        break;
    case "3":
        x = "3";
        break;
    default:
        x = 0
        break;

答案 1 :(得分:0)

第一个似乎是答案。它将检查类型和值。如果它为0则它将1分配给x else 0。

答案 2 :(得分:0)

  1. x === 0匹配两个操作数的值和类型。如果第一个条件为0,则将x设置为1,否则为0

  2. 最终将x设为0

  3. 如果x有false,null,undefined,0则会设置为0 else 1

  4. x将始终为0

答案 3 :(得分:0)

正确答案是if (x===0) x=1; else x=0;

因此,只有当x0 x时,1应为default:,否则0语句分配Math.Round(decimal val, # of decimals);