JavaScript条件块与控制流的空白返回

Mik*_*ace 10 javascript

我总是编写我的JavaScript块

var functionName = function() {
  if (someCondition) {
      // stuff
  } else {
      // stuff
  }
};
Run Code Online (Sandbox Code Playgroud)

但今天我看到了

var functionName = function() {
  if (someCondition) {
     // stuff
     return;
  }
  // stuff
};
Run Code Online (Sandbox Code Playgroud)

我喜欢第一个例子在逻辑中更明确.你想要或不想以第二种方式展示它的原因是什么?

Ivo*_*zel 12

如果你有一个以上的话,减少缩进someCondition.

想像:

var functionName = function() {
    if (someCondition) {
        // stuff
    } else {
        // stuff
        if (someConditionB) {
            // stuff

        } else {
            // stuff

            if (someConditionC) {
                // stuff

            } else {
                // stuff

                if (someConditionD) {
                    // stuff
                } else {
                    // stuff
                }
            }
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

如果没有其他所有内容,那将更具可读性:

var functionName = function() {
    if (someCondition) {
        // stuff
        return;
    }

    if (someConditionB) {
        // stuff
        return;
    }

    if (someConditionC) {
        // stuff
        return;
    }
    if (someConditionD) {
        // stuff
        return;
    }

    // stuff
};
Run Code Online (Sandbox Code Playgroud)