web前端ES6教程,涵盖ES6-ES11

ES6-ES11


前言

在学习React前需要对其进行基础学习,在此写博客进行记录


提示:以下是本篇文章正文内容,下面案例可供参考

一、ES是什么?

ES全称EcmaScript,是脚本语言的规范,而平时经常编写的JavaScript,是EcmaScript的一种实现,所以ES新特性其实指的就是JavaScript的新特性

二、为什么要学习新特性?

1、语言简洁,功能丰富
2、框架开发应用
3、前端开发职位要求

三、前置知识?

1、JavaScript基础语法
2、AJAX与NodeJS

四、知识学习

1.let基础学习

step1:基础申明:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<script>
    //变量的声明
    let a;
    let b,c,d;
    let e=100;
    let f='232',g='iloveyou',h=[];
    alert(g);
</script>
<body>

</body>
</html>

step2:let声明不能重复,var可以重复声明:
在这里插入图片描述
step3:let拥有块级作用域(if,else,while),全局作用域,函数和eval等,var的话定义的都是全局的
在这里插入图片描述
step4:不存在变量提升

alert(a);
let a='asda';//不允许
alert(b);
var b='asd';//允许,相当于在最开始定义了一个let b;alert(b);let b='asd';的操作(这就是变量提升)

step5:会沿着块链方式寻找let变量

let school='nihao';
 {
    let school ='山千骨';
    {
        function fun(){
          console.log(school);//控制台显示山千骨
         }
    }
 }
 
 fun();

step6:案例学习(在这里解决了我之前困惑的地方)

在这里插入图片描述
下面就是相当于调用函数的时候会去找距离最近的let其实也就类似下面的等价
在这里插入图片描述

2.const

step1:基础申明:

//声明常量
const SCHOOL="NH";

step2:一定要赋初始值:

const SCHOOL="NH";//允许
const SCHO;//错误

step3:常量的值不能修改(一般我们用大写变量):

const SCHOOL="NH";
SCHOOL="BJ";//报错

step4:块级作用域和let差不多

{const SCHOOL="NH";}
console.log(SCHOOL);//报错

step5:对于数组和对象的元素修改,不算做对常量的修改,不会报错

const TIME=['dfsdf','dfsdf','dfsd'];
    TIME.push("sdas");
//因为TIME指向的地址并没有被改变

3.解构赋值

ES6允许安装一定模式从数组和对象中取出值,对变量进行赋值这就被称为解构赋值

 //1、数组 数组用[]
    const TIME=['1','2','3'];
    let [a,b,c]=TIME;
    console.log(a);
    console.log(b);
    console.log(c);
    //2、对象,对象要用花括号
    const student={
        name:"李四",
        age:24,
        gender:"男",
        action:function () {
            alert("爱美女");
        }
    }
    //对象的let里面的变量名必须和类内定义的变量名一样
    let {gender,age,name,action}=student;
    console.log(name);
    console.log(age);
    console.log(gender);
    action();

4.模板字符串

ES6引入新的声明字符串的方式(tab键上面的按钮)
step1:基础申明:

 //1、声明
    let str=`你哈`;
    console.log(str);
    console.log(typeof str);//string

step2:内容中可以直接出现换行符:

 //1、声明
    let str=`你哈`;
    console.log(str);
    console.log(typeof str);//string

结果:
在这里插入图片描述
step3:内容中可以出现变量替换

let name="lisa";
let sad=`${name}是最美的女孩子`
console.log(sad);//lisa是最美的女孩子

5.let箭头函数

step1:声明

  //函数的声名和调用
//    var name=function () {
//        alert("lisi");
//    }//报错
    //下面才是正确的定义规范
    let name=function () {
        alert("lisi");
    }
    name()
    let add=(a,b)=> {
        return a+b;
    }
    var sum=add(2,6);
    alert(sum);

step2:let定义的函数this是静态的,指向的是声明该函数时所在的空间的this

  //普通定义的函数
    function getName() {
        console.log(this.name);//window
    }
    //箭头函数
    let getName2=()=>{
        console.log(this.name);//window
    }
    window.name="window";
    //直接调用
    getName();
    getName2();

    const school={
        name:"lmx"
    }
    //call 方法调用
    getName.call(school);//lmx
    getName2(school);//window,因为箭头函数的this是静态的永远指向window

step3:不能作为构造实例化对象
在这里插入图片描述
step4:不能使用arguments变量
在这里插入图片描述
step5:简写

1、省略小括号,当形参有且只有一个时候
2、省略花括号,当代码体只有一条语句的时候,若这条语句有return 也要省略,会自动返回

step6:箭头函数的实践和书写
案例一,定时器
在这里插入图片描述
改进方法一:
在这里插入图片描述
改进方法二:
在这里插入图片描述
过滤偶数:
在这里插入图片描述
改进:
在这里插入图片描述

总结

下一篇的学习见链接:xxxx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值