js报错:Uncaught TypeError: (intermediate value) is not a function

自己在项目中遇到的一个错误,百度了一下资料,说是如果前面定义的是变量,后面写的是匿名函数或者闭包什么的,如果变量后不加分号的话(即使已经换行了),js会自动的认为你是匿名函数自调,会被认为是变量名而不是方法,从而报错。所以变量后面要加分号!

// 创建marker
marker = new BMap.Marker(data.points[i], {
   icon: myIcon
 }); //这个分号是必加的,否则报错!
 (function () {
   var cache = oriPoints[base + i]
   marker.addEventListener("click", function (e) {
   }
 })

你可能感兴趣的:(web前端)