• 立即执行函数使用时 ,一直报错 console.log() is not a function


    var reverse = function (arr) {
      let temp = arr.splice(0,arr.length-1)  // splice  第二个参数为 要删除的元素个数!! 0表示不删除 ,第三个为可选,表示向数组新增元素
      temp = temp.reverse();
      console.log(temp)
      temp = temp.concat(arr);
      return temp
    }
    console.log(reverse([1,2,3,4,5,null])); // 报错原因是 这里的 console.log() 没加分号, 所以js编译器应该是  把这个和 立即执行函数的括号当成一个 函数调用【console.log()(function()())】了 
    所以就报错 console.log() 不是个函数!!!
    /** * 删除元音字符 */ (function () { console.log(s); })(s='123')

     所以不只是 这个错误   立即执行前没有分号的语句  两者被编译器编译后, 都有可能会有一些奇怪的报错!!! 注意排查加上分号即可!!!

  • 相关阅读:
    工厂模式
    装饰器模式
    策略模式
    代理模式
    建造者模式
    单例模式
    观察者模式
    JVM运行时数据区
    Export to excel
    C#网络编程(同步传输字符串) Part.2 [转自JimmyZhang博客]
  • 原文地址:https://www.cnblogs.com/Hijacku/p/14902439.html
Copyright © 2020-2023  润新知