我有以下代码:

      function() {
         if (foo && foo.bar !== baz) { //needed because foo can be undefined, so foo.bar always returns value
            function1()
            return;
         }

         if (foo) {
            function2()
         } else {
            function1()
         }
      }


我想知道,从代码结构的角度来看,优化这些if语句的最佳方法是什么?

感谢所有的答案!

最佳答案

可以将其转换为单线:

foo && foo.baz === baz ? function2() : function1();


如果foo为假,则将执行function1;如果foo为真,但foo.baz !== baz,则仍将执行function1。否则,它将执行function2

之所以起作用,是因为如果foo是真实的,而foo.baz !== bazfalse,则仅当function2foo.baz === baz时才执行true

关于javascript - JavaScript if语句优化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28612737/

10-09 23:38
查看更多