在调试JavaScript程序的时候经常遇到两个错误:ReferenceError和TypeError。
字面上的意思是:引用错误和类型错误。下面从作用域(Scope)的角度来阐述着两个错误。
在说这个之前需要了解的知识是:JavaScript中变量的LHS引用和RHS引用。
先说:ReferenceError。
当JavaScript引擎进行RHS查询变量的时候,在作用域里没有找到这个变量的时候,JavaScript引擎就会抛出一个ReferenceError。
例子:右击页面,审查元素,(或者直接按F12)。在控制台上输入:
console.log(a);
然后回车,得到的结果是:
这就是ReferenceError。
再说TypeError。
当在作用域中找到了这个变量引用,然后你让这个变量去做他力所不能及的事情的时候,比如说引用它一个不存在的属性,比如说将非函数的变量用作函数引用,这个时候JavaScript引擎就会抛出TypeError。
例子:
总的来说,ReferenceError就是在作用域中找不到,TypeError是在作用域中找到了但是做了它不可能做的事情。
参考资料:Error about Scope
相关推荐
学习如何使用try...catch语句处理运行时错误,以及了解不同类型的JavaScript错误对象,如ReferenceError、TypeError等。 10. **性能优化** 熟悉JavaScript性能优化技巧,如减少DOM操作、使用事件委托、避免阻塞...
你需要学会如何使用`try...catch`语句捕获和处理错误,以及理解不同类型的JavaScript错误,如ReferenceError、TypeError等。 7. **性能优化**:了解如何编写高性能的JavaScript代码,比如避免全局查找,减少DOM操作...
9. **错误处理**:通过try...catch结构捕获和处理运行时错误,理解各种错误类型(如ReferenceError、TypeError、RangeError等)对于编写健壮的代码至关重要。 10. **性能优化**:理解V8引擎的工作原理,运用适当的...
9. **错误处理**:学会使用try...catch语句进行异常处理,以及了解各种常见的JavaScript错误类型,如ReferenceError、TypeError等。 10. **性能优化**:理解JavaScript的执行机制,如V8引擎的优化策略,以及如何...
12. **错误处理**:学习如何使用try...catch语句捕获和处理运行时错误,以及理解各种JavaScript特有的错误类型,如ReferenceError、TypeError等。 13. **性能优化**:了解如何编写高性能的JavaScript代码,包括避免...
8. **错误处理**:使用try...catch语句捕获并处理运行时错误,了解常见的JavaScript错误类型,如ReferenceError、TypeError、RangeError等。 9. **调试技巧**:学习使用浏览器内置的开发者工具进行断点调试、查看...
- 错误类型:理解不同类型的JavaScript错误,如ReferenceError、TypeError、RangeError等。 - 错误捕获:try...catch语句的使用,以及错误对象的处理。 8. **JavaScript安全** - 防XSS攻击:了解跨站脚本攻击的...
10. **错误处理**:学习如何使用try...catch语句处理运行时错误,并了解不同类型的JavaScript错误,如ReferenceError、TypeError等。 11. **性能优化**:了解V8引擎的工作原理,掌握优化JavaScript代码的方法,如...
ECMAScript 提供了语言的定义、语法和行为标准,而JavaScript是由Netscape公司开发并在浏览器中实现的语言,它遵循ECMAScript规范。随着时间的发展,各大浏览器厂商都致力于实现最新的ECMAScript标准,以确保...
Symbol 是 ECMAScript2015 中引入的原始类型。它的实例主要用作唯一的属性键。只能通过将 Symbol 用作函数来创建实例。与 new 运算符一起使用 Symbol 会引发 TypeError。 7. with 语句的使用 with 语句会在 ...
ECMAScript6,也称为ES2015,是JavaScript语言的一个重要版本更新,引入了许多新的特性和语法改进,使得代码更加简洁、易读。以下是一些关键的新特性及其范例: 1. **箭头函数**: 箭头函数提供了一种更简洁的函数...
在JavaScript中,错误处理是不可或缺的一部分,手册可能会列出常见的Error类型,如TypeError、ReferenceError、SyntaxError等,并给出如何捕获和处理这些错误的方法。 总的来说,这个“JavaScript速查手册”是...
首先,Error对象是一个基类,用于创建各种特定类型的错误,包括ReferenceError、TypeError、RangeError、SyntaxError、EvalError和URIError。这些子类分别对应不同类型的错误情况: 1. ReferenceError:当尝试访问...
这些对象包括基本类型如`Object`、`Function`、`Array`、`String`、`Boolean`、`Number`、`Date`、`RegExp`,以及错误对象如`Error`、`EvalError`、`RangeError`、`ReferenceError`、`SyntaxError`、`TypeError`和`...
理解错误对象(Error)及其子类型(如TypeError、ReferenceError等)有助于编写健壮的代码。 10. **调试技巧**:了解如何使用开发者工具进行调试是JavaScript开发中的重要技能。这包括设置断点、查看变量值、调用...
ECMAScript 和 JavaScript 之间的关系可以这样理解:ECMAScript 定义了脚本语言的标准和规范,而 JavaScript 是这一标准的一种具体实现。换句话说,JavaScript 遵循 ECMAScript 规范来实现其语言功能。 #### ES6 ...
JavaScript有预定义的Error对象及其子类,如SyntaxError、TypeError、ReferenceError等,它们用于捕获和处理运行时错误。理解并正确处理这些错误是编写健壮代码的关键。 3. **函数**:函数是JavaScript中的重要组成...
使用try...catch语句捕获和处理运行时错误,理解各种错误类型(如TypeError、ReferenceError等)可以帮助你找出和修复代码问题。 以上知识点构成了JavaScript的基础框架,通过深入理解和实践,你可以逐步提升...
此外,了解各种内置错误类型(如TypeError、ReferenceError等)对于调试代码十分关键。 10. **最新的ECMAScript特性** 随着每年的ECMAScript版本更新,JavaScript不断引入新特性,如解构赋值、模板字符串、Spread...
同时,理解不同类型的JavaScript错误,如ReferenceError、TypeError等,有助于快速定位问题。 7. 事件与DOM操作:在Web开发中,JavaScript经常用于处理用户交互。了解事件监听、触发和DOM(文档对象模型)元素的...