玩笑过后

导航

函数表达式和函数声明,隐式类型转换

 <script>
      var i = 1;
    if (function f(){}){
        i += typeof f; 
    }
    console.log(i);
  </script>

结果为:字符串1undefined

function f(){}并不会执行,也不是必报,隐式转换为true,因为函数为对象只要非0、null、undefined都为true

f只在函数内部找到相当于arguments.callee,在函数外部找不到,为undefined

如果var f = function(){},则结果为1function

 https://segmentfault.com/q/1010000005343506

posted on 2018-07-24 17:26  玩笑过后  阅读(100)  评论(0编辑  收藏  举报