有哪些JS知识点总结让你感到陌生?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3012个文字,预计阅读时间需要13分钟。
在JavaScript中,`let`声明的变量具有块级作用域(block scope),这意味着它们只在最近的代码块(如函数或`if`语句)内部有效。以下是对您提供的伪创新内容的简化
`let`变量仅在包含它的代码块内有效,其声明的变量被`绑定`在这个作用域内,不受外部作用域的影响。
示例:javascriptvar temp=123;if (true) { console.log(temp); // 输出:123 let temp; // 在这个块内,新的`temp`变量被声明,不会影响外部的`temp`}
暂时性死区
只要块级作用域存在let命令,它所声明的变量就“绑定”这个区域,不再受外部的影响。这么说可能有些抽象,举个例子:
var temp = 123; if(true) { console.log(temp); let temp; }
结果:
> ReferenceError: temp is not defined
在代码块内,使用let声明变量之前,该变量都是不可用的。在语法上,称为“暂时性死区”。(temporal dead zone)
ES6规定暂时性死区和let、const语句不出现变量提升,主要是为了减少运行时错误,防止在变量声明前就使用这个变量,从而导致意料之外的行为。
call和apply方法
这两个方法都可以改变一个函数的上下文对象,只是接受参数的方式不一样。
call接收的是逗号分隔的参数。
本文共计3012个文字,预计阅读时间需要13分钟。
在JavaScript中,`let`声明的变量具有块级作用域(block scope),这意味着它们只在最近的代码块(如函数或`if`语句)内部有效。以下是对您提供的伪创新内容的简化
`let`变量仅在包含它的代码块内有效,其声明的变量被`绑定`在这个作用域内,不受外部作用域的影响。
示例:javascriptvar temp=123;if (true) { console.log(temp); // 输出:123 let temp; // 在这个块内,新的`temp`变量被声明,不会影响外部的`temp`}
暂时性死区
只要块级作用域存在let命令,它所声明的变量就“绑定”这个区域,不再受外部的影响。这么说可能有些抽象,举个例子:
var temp = 123; if(true) { console.log(temp); let temp; }
结果:
> ReferenceError: temp is not defined
在代码块内,使用let声明变量之前,该变量都是不可用的。在语法上,称为“暂时性死区”。(temporal dead zone)
ES6规定暂时性死区和let、const语句不出现变量提升,主要是为了减少运行时错误,防止在变量声明前就使用这个变量,从而导致意料之外的行为。
call和apply方法
这两个方法都可以改变一个函数的上下文对象,只是接受参数的方式不一样。
call接收的是逗号分隔的参数。

