函数判断与Js中的’&& ||‘+假值

 _.isFunction = function(obj){
    return typeof obj == 'function' || false;
}

就是简单判断一个函数而已,不过可以扩展出一个知识点嘿嘿,

你是怎么看js中的&&,||

与其说是逻辑运算符,不如说是属性选择符。

  • &&执行方式(a&&b):

    • 如果a为true,返回b

    • 否则返回a

  • ||执行方式(a || b):

    • 如果a为true, 返回a

    • 否则返回b

'' || [1,2] //[1,2]
'' && [1,2] //""

[1] || [] //[1]
[1] && [] //[]

然后把js中为false的属性整理一下啦:

ES5规范9.2定义了抽象操作ToBoolean,列举了布尔强制类型转换所有可能出现的结果。

  • undefined

  • null

  • false

  • +0,-0 和 NaN

  • ""

从逻辑上说,假值列表以外的都应该是真值。

  • 除了'',其他的字符串都是真值。

  • [],{},fucntion(){}都不在假值列表里,所以他们都是真值。

真值列表是无限长的,我们只能根据假值列表作为参考,可以理解位假值列表以外的值都是真值。

  • 常用的 || 用法:设置默认值

  • js代码压缩工具常用的‘守护运算符’:

Last updated

Was this helpful?