nicenote/source/_posts/JS常见的十大错误.md
2018-05-26 17:58:20 +08:00

47 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: JS常见的十大错误
date: 2018-02-07 09:26:47
tags: [js, error]
categories: web前端
---
## 1. Uncaught TypeError: Cannot read property
发生这种情况的原因很多,但常见的一种是在渲染 UI 组件时对于状态的初始化操作不当。
## 2. TypeError: undefined is not an object
这是在 Safari 中读取属性或调用未定义对象上的方法时发生的错误。这与 1 中提到的 Chrome 的错误基本相同,但 Safari 使用了不同的错误消息提示语。
## 3. TypeError: null is not an object
这是在 Safari 中读取属性或调用空对象上的方法时发生的错误。
> 在 JavaScript 中null 和 undefined 是不一样的这就是为什么我们看到两个不同的错误信息。undefined 通常是一个尚未分配的变量,而 null 表示该值为空。 要验证它们不相等,请尝试使用严格的相等运算符 ===
## 4. (unknown): Script error
当未捕获的 JavaScript 错误通过window.onerror处理程序引发的错误而不是捕获在try-catch中被浏览器的跨域策略限制时会产生这类的脚本错误。这是一种浏览器安全措施旨在防止跨域传递数据否则将不允许进行通信。
## 5. TypeError: Object doesnt support property
这是您在调用未定义的方法时发生在 IE 中的错误。 您可以在 IE 开发者控制台中进行测试。
## 6. TypeError: undefined is not a function
当您调用未定义的函数时,这是 Chrome 中产生的错误。
## 7. Uncaught RangeError: Maximum call stack
这是 Chrome 在一些情况下会发生的错误。 一个是当你调用一个不终止的递归函数。
## 8. TypeError: Cannot read property length
这是 Chrome 中发生的错误,因为读取未定义变量的长度属性。
# 9. Uncaught TypeError: Cannot set property
当我们尝试访问一个未定义的变量时,它总是返回 undefined我们不能获取或设置任何未定义的属性。 在这种情况下,应用程序将抛出 “Uncaught TypeError: Cannot set property”。
## 10. ReferenceError: event is not defined
当您尝试访问未定义的变量或超出当前范围的变量时,会引发此错误。