• ECMAScript


    介绍

    在这里插入图片描述

    JavaScript和ECMAScript的区别

    html和css的解析在两款浏览器是不同的效果,比如一个页面能在IE解析,但是不能在网景浏览器解析

    后面出现了脚本语言,JavaScript,提供了丰富功能,比如输入密码进行正则的判断提示

    后面出现了W3C统一了html和css的标准,ECMA提供了JS的标准
    ——在这里插入图片描述

    语法

    1.let变量
    //声明变量
    var a
    a=1
    var a=true
    console.log(a)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    1.let变量不能重复定义

    //声明变量
    let a
    a=1
    let a=true //报错,不能重复定义
    console.log(a)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2.let具备块级作用域,var不具备块级作用域

    var flag=true
    if(flag){
      let star =5
    }
    console.log(star)
    //报错 ReferenceError: star is not defined
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    3.变量提升
    var变量需要在前面定义好,放后面的话会吹西安undefined的情况,let不存在变量提升的问题

    2.const变量

    1.声明的同时需要有初始值
    2.一旦赋予了初始值就不能改变,类似于final

    const PI=2.1415926
    console.log(PI)
    //2.声明的时候需要有初始值
    const A
    
    • 1
    • 2
    • 3
    • 4

    3.当常量的地址不变(引用不变时),可以改变常量的内容

    const team=['学习''战斗']
    team.push('爱情')
    console.log(team)
    
    • 1
    • 2
    • 3
    3.解构赋值

    1.让代码的赋值更简洁

    const F4=['小沈阳','赵四','刘能']
    console.log(F4)
    //let shengyang=F4[0]
    //解构赋值
    let [shengyang,zhoasi,liuneng] = F4
    console.log(shengyang)
    console.log(liuneng)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2.解构赋值方式

    const abs = {
       username: 'zbs',
       age: '22'
    },
    let {username,age} = zbs
    console.log(username)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    4.模板字符串
    let str1= '我是字符串'
    let str2 = `我也是一个字符串哦`
    console.log(str1)
    //2.原样输出
    let htmlStr=
    '
      ' +'
    • 盛腾
    • '
      +'
    '
    console.log(htmlStr)
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    变量拼接${}
    在这里插入图片描述

    5.声明变量简写

    在这里插入图片描述
    简写:将变量名设置为一样

    在这里插入图片描述

    6.方法参数默认值
    function add(a,b=100){
       console.log('a是',a) 
       return 100+a+b
    }
    
    
    let result = add(100)
    console.log(result)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    7.对象的拷贝

    在JS中其实是存在引用传递的
    比如下面person和someone共用一个堆内存中的对象

    let person={ username: 'ABC',age:19}
    let someone=persion
    
    • 1
    • 2

    我们可以进行拷贝,打印出来就是两个不同独立的对象
    在这里插入图片描述

    8.箭头函数
    let fn = (a)=>{
        return a+100
    }
    let res=fn(100)
    console.log(res)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    9.Promise异步编程

    Promise是异步编程的解决方案,语法上Promise是一个构造函数,用来封装异步操作来获取成功或者失败

    Promise对象有三个状态:初始化,成功,失败
    (resolve,reject):1.第一个是函数类型参数,可以将promise状态设置为成功,2.第二个可以将状态设置为失败

    //实例化Promise
    const p=new Promise((resolve,reject)=>{
        //执行异步操作:1.读取文件的路径 2.读取过程中对响应结果的处理
        fs.readFile('./test.txt',(err,data)=>{
    
            //1.当文件读取失败时候的错误对象
            if(err){
                console.log('文件读取失败')
                reject(err)
                return
            }
            //2.当文件读取成功时候的内容
            console.log(data.toString())
            resolve(data)
        })
    })
    
    //2.根据Promise状态进行兜底服务
    p.then((response)=>{
        console.log(response.toString())
    })  //成功自动调用,response就相当于resolve(data)
    
    p.catch(error=>{
      console.log('报错了')
      console.log(error)
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
  • 相关阅读:
    J2EE.List集合
    3D 生成重建008-zero123让扩散模型了解空间信息zero-shot 单图生3d
    阿里云2核4G服务器5M带宽五年租用价格表
    SpringBoot SpringBoot 开发实用篇 5 整合第三方技术 5.11 jetcache 方法缓存
    [springmvc学习]8、JSR 303验证及其国际化
    一、RocketMQ安装
    MATLAB中subplot函数的使用
    上门洗衣洗鞋app小程序
    第二十四课、二十五课,高级光照(blinn),Gamma矫正
    分享如何撰写吸引人的开发信
  • 原文地址:https://blog.csdn.net/weixin_57128596/article/details/127946412