If(tosString.call(input)!== "[object Array]"无法理解这一点



我不能理解if语句,它在说什么,为什么没有else语句

function max(input) {
         if (toString.call(input) !== "[object Array]")  
           return false;
      return Math.max.apply(null, input);
        }
    console.log(max([12,34,56,1]));
    console.log(max([-12,-34,0,-56,-1]))
;

检查input参数是否为Array

Array的默认toString()实现返回字符串[object Array],因此我们检查它以确保值是Array类型。您可以直接在input上调用toString(),但随后您需要确保input具有nullundefined以外的值,因此我们调用window对象的toString()方法,但将上下文作为input

if语句中的条件检查输入是否是数组。

如果在if语句的true分支中有返回语句,则不需要在函数中使用else语句。

在这种情况下,if语句之后的任何内容只会在条件为false时运行。

相关内容

最新更新