在我们写javascript函数的时候,经常会使用到条件判断,使用得最多的就是if else进行判断了。使用得多了渐渐会特别依赖这个最简单的方法,而导致整个函数里好多if else甚至嵌套很多层。仔细研究,我们会发现用一大段if else的逻辑,其实用其他方法,一句话就能够完全实现同样的功能。

但是看了上面的代码,肯定很多人会说,switch根本没有好到哪里去嘛,只是看上去稍微清晰了一点点。确实,所以我们有更简单的方法。

上面两句话就完成了之前一大段的逻辑,不过还没有完全完成,因为有个默认值“人类”没有写进去。这个该怎么加进去呢?

就这么两句话就完全实现了之前一大段逻辑判断的功能。不相信?可以试一试哦。

如果第一个操作数是对象,则返回第一个操作数。

如果第一个操作数的求值结果为false,则返回第二个操作数。

如果两个操作数都是对象,则返回第一个操作数。

如果两个操作数都是null,则返回null。

如果两个操作数都是NaN,则返回NaN。

如果两个操作数都是undefined,则返回undefined。

如果第一个操作数是对象,则返回第二个操作数。

如果第二个操作数是对象,且只有第一个操作数的求值结果为true,则返回第二个操作数。

如果有一个操作数都是对象,则返回第一个操作数。

如果有一个操作数都是null,则返回null。

如果有一个操作数都是NaN,则返回NaN。

如果有一个操作数都是undefined,则返回undefined。