有很多种方法可以解决上面的问题:
1、可以将外层的this存下来,这样self指向的还是windows 。
var self=this;// save reference to 'this', while it's still this!document.addEventListener("click", function(){self.clearBoard();});
2、也可以用bind改变this的指向 。
document.addEventListener("click",this.clearBoard.bind(this));
七、 Uncaught RangeError这个错误会在Chrome的很多场景下出现 。其中有一种就是使用了递归却没有使用停止的条件 。
文章插图
八、TypeError: Cannot read property ‘length’这个错误是调用了undefined的length属性,发生在Chrome中 。
文章插图
所以我们在取一个变量的length时候,一般都是string或者array,要注意他们是有值的 。
九、Uncaught TypeError: Cannot set property给undefined设置属性的时候会报错 。
文章插图
十、ReferenceError: event is not defined访问一个没有定义或者不在当前作用域的变量会报这个错 。
文章插图
什么时候容易出这个错呢?在事件的回调中,如果要使用event要注意传入event 。
document.addEventListener("mousemove", function (event) {console.log(event);})
因为有些浏览器不会自动帮你传,比如火狐,就会报错 。所以最好还是自己传 。原文链接:
Top 10 JAVAScript errors from 1000+ projects (and how to avoid them)?rollbar.com
参考文档:
Script Error产生的原因及解法?juejin.im
推荐阅读
- 4种方法实时监控Linux日志文件
- CSRF 十大常见web漏洞——跨站点请求伪造
- Tomcat优化大全,进来看了,真就会了
- 茶文化,吃茶记,中国茶文化在三国以前的茶文化启蒙介绍
- 几十块钱的电力猫可以替代千元分布式路由器?
- MySQL8.0真香
- 电池回收处理方案
- 企业淘宝店铺怎么开店 淘宝怎么申请开店铺
- 淘宝刚开的新店怎么推广 开淘宝店铺前期要怎么做
- 孩子发烧打冷颤怎么办