es6第一天笔记01——变量扩展let和const

news/2024/7/10 23:00:35 标签: es6

1.var声明的变量只有函数的作用域

2.let声明的变量有块级作用域 {代码块} 会向上寻找距离该变量最近的开始的{

3.作用范围就是该{内

<script>
        {
            let a = 100;
            console.log(a);
        }
</script>

控制台输出结果为:

100

4.let声明的变量没有变量提升的概念

<script>
        {
            console.log(a);
            let a = 100;
        }
</script>

控制台输出结果为:

Uncaught ReferenceError: Cannot access 'a' before initialization

5.let声明的变量不能重复声明,包括和var一起使用的时候,也是需要避免

<script>
        {
            let a = 100;
            let a = 10;
        }
</script>
<script>
        {
            let a = 100;
            var a = 10;
        }
</script>

控制台输出结果为:

Uncaught SyntaxError: Identifier 'a' has already been declared

6.let声明的变量是一个块级作用域,会绑定该区域不会受外界的影响

<script>
        {
            let a = 100;
            {
                let a = 10;
                console.log(a);
            }
        }
</script>

控制台输出结果为:

10

7.var声明的变量,会有变量提升。把声明提升到整个作用域的最前面

<script>
        {
            let b = 10;
            {
                var b = 100;
            }
        }
</script>

控制台输出结果为:

Uncaught SyntaxError: Identifier 'b' has already been declared

8.let暂时性死区:let是块级作用域,没有变量提升的概念。在声明之前的一块区域不能使用

<script>
        {
            let a = 100;
            {
                console.log(a)
                let a = 10;
            }
        }
</script>

控制台输出结果为:

Uncaught ReferenceError: Cannot access 'a' before initialization

9. const 用法let基本一样  只是const声明的变量不能修改

<script>
    const a = 100;
    a = 10;
</script>

控制台输出结果为:

Uncaught TypeError: Assignment to constant variable.

 


http://www.niftyadmin.cn/n/1367919.html

相关文章

es6第一天笔记02——点击事件

一、使用var <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width,…

es6第一天笔记03——解构

解构&#xff1a;把数据按照一定的方式解析进行赋值 1.字符串解构&#xff1a; 把字符串中的字符依次赋值给变量&#xff0c;如果变量比较多&#xff0c;会出现声明但是没有赋值的情况&#xff1b; 如果字符串比较多,不会报错。 <script>var [a, b, c, d] hello;conso…

es6第一天笔记05——数组扩展

1.声明长度为num的数组 var 数组名字 new Array(num); <script>var list new Array(10);console.log(list.length); </script> 控制台输出结果为&#xff1a; 10 2.如果数组中有多个数值&#xff0c;或者第一个元素不是数值时&#xff0c;代表着数组内部的值 …

es6第一天笔记06——函数的扩展

1.函数参数的默认值 <script>function fn(x,y20){console.log(x,y);}fn(10); </script> 控制台输出结果为&#xff1a; 10 20 2. arguments获取用户输入的所有实参&#xff0c;是一个类数组 <script>function fn(x,y){var list Array.from(arguments);lis…

vue第一天笔记01——移动端布局

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><!--视口标签 实现移动端布局&#xff0c;必须加的标签&#xff0c;禁止伸缩 --&…

vue第一天笔记14——vue练习:选项卡和发微博

一、选项卡 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width,…

vue第二天笔记01——组件的两种定义方式

一、第一种定义 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-w…

vue第三天笔记04——安装node.js环境

1.打开网页&#xff1a; https://nodejs.org/en/download/ 2.下载msi文件 下载msi文件3.打开并安装 下一步勾选再下一步可以修改路径&#xff0c;不修改直接下一步直接下一步下一步安装结束4.安装 vue-cli&#xff1a; npm install vue-cli -g 安装vue命令环境5.检测是否安装…