fengchuanyu 1 Minggu lalu
induk
melakukan
569839cbc2

+ 73 - 0
8-ES6/1_let和const.html

@@ -0,0 +1,73 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+</head>
+<body>
+    <script>
+        // var a = 10;
+        // var a = "a";
+        // console.log(a)
+
+        // 新增变量定义防范。let 
+        //1、 let 定义的变量 不能重复定义
+        // let a = 10;
+        // let a = 20; 
+        // console.log(a);
+
+
+        //2、 不属于顶层对象window
+        // window 时浏览器中的全局对象
+        // var a = 10;
+        // let b = 20;
+        // console.log(window.a);
+        // console.log(window.b);
+
+        // 3、let 定义的变量 不存在变量提升
+
+        // console.log(a);
+        // let a = 10;
+
+        // // 4、let 定义的变量 存在块级作用域
+        
+        // // 5、暂时性死区
+        // function foo(){
+        //     console.log(a);
+        //     let a = 10;
+        // }
+
+        // const 定义常量
+        // 常量就是定义之后不能被修改
+        // 变量定义后可以随意修改
+
+        // const c = 10;
+        // c = 30;
+        // console.log(c)
+
+        // const 定义的常量 值不可以修改
+
+        // const arr = [1,2,3,4];
+        // arr[0] = "hello";
+        // console.log(arr);
+
+        const arr3 = [1,2,3,4];
+        arr3 = [6,7,8];
+        console.log(arr3)
+
+        let arr = [1,2,3,4,5,6];
+        // 如果引用数据类型直接赋值 赋值的是地址 而不是最终的值
+        // 只要有一个变量去改变值 另一个也会一起变化
+        let arr2 = arr;
+        arr[0] = "hello"
+        console.log(arr2);
+
+
+       
+
+
+        
+    </script>
+</body>
+</html>

+ 64 - 0
8-ES6/2_变量提升.html

@@ -0,0 +1,64 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+</head>
+<body>
+    <script>
+        // console.log(a);
+        // var a = 10;
+
+
+        // var a;
+        // console.log(a);
+
+        // 变量提升
+        // 变量提升是指在代码执行前,会先将变量的声明提升到代码的顶部
+        // 变量提升只提升声明,不提升赋值
+
+
+        // console.log(a);
+        // var a = 10;
+
+        // // 等同于
+
+        // var a;
+        // console.log(a);
+        // a = 10;
+
+        // 变量提升的注意事项
+        // 1. 变量提升只提升声明,不提升赋值
+        // 2. 变量提升只提升到当前作用域的顶部
+
+        // console.log(a)
+        // function foo(){
+        //     console.log(a)
+        //     var a = 10;
+        // }
+        // foo();
+
+        // 等同于
+
+        // console.log(a);
+        // function foo(){
+        //     var a;
+        //     console.log(a);
+        //     a = 10;
+        // }
+        // foo();
+
+
+        // 函数提升
+        // 函数提升是指在代码执行前,会先将函数的声明提升到代码的顶部
+        // 函数提升只提升声明,不提升调用
+
+        foo();
+        function foo(){
+            console.log("hello")
+        }
+        
+    </script>
+</body>
+</html>

+ 47 - 0
8-ES6/3_块作用域.html

@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+</head>
+<body>
+    <ul>
+        <li>a</li>
+        <li>b</li>
+        <li>c</li>
+        <li>d</li>
+        <li>e</li>
+    </ul>
+    <script>
+        var aLi = document.getElementsByTagName("li");
+
+        for(let i=0;i<aLi.length;i++){
+            aLi[i].onclick = function(){
+                console.log(i)
+            }
+        }
+
+
+        // es6 之前只有函数用域 和 全局作用域
+
+        // if(true){
+        //     var a = 10
+        // }
+        // console.log(a);
+
+        // for(var i = 0; i < 10; i++){
+        //     var a = 10;
+        // }
+
+        // console.log(a)
+
+        // let 新增块作用域
+        // { } 内部定义的变量(使用let)仅在当前作用于生效
+        // if(true){
+        //     let a = 10;
+        // }
+        // console.log(a);
+    </script>
+</body>
+</html>

+ 28 - 0
8-ES6/4_字符串新增方法.html

@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+</head>
+<body>
+    <script>
+        // var str = "你好 欢迎光临";
+        // var userName = "张三";
+        // str = "你好"+ userName + "欢迎光临";
+        // console.log(str);
+
+        // 模版字符串
+        // 允许换行
+        // 可以在字符串中嵌入变量 ${}
+        
+        let userName = "张三";
+        let str = `你好 ${userName} 
+        
+        helloworld
+        
+        欢迎光临`;
+        console.log(str);
+    </script>
+</body>
+</html>