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.let变量不能重复定义

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

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

var flag=true
if(flag){
  let star =5
}
console.log(star)
//报错 ReferenceError: star is not defined

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

2.const变量

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

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

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

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

1.让代码的赋值更简洁

const F4=['小沈阳','赵四','刘能']
console.log(F4)
//let shengyang=F4[0]
//解构赋值
let [shengyang,zhoasi,liuneng] = F4
console.log(shengyang)
console.log(liuneng)

2.解构赋值方式

const abs = {
   username: 'zbs',
   age: '22'
},
let {username,age} = zbs
console.log(username)
4.模板字符串
let str1= '我是字符串'
let str2 = `我也是一个字符串哦`
console.log(str1)
//2.原样输出
let htmlStr=
'<ul>'
+'<li>盛腾</li>'
+'</ul>'
console.log(htmlStr)

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

5.声明变量简写

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

在这里插入图片描述

6.方法参数默认值
function add(a,b=100){
   console.log('a是',a) 
   return 100+a+b
}


let result = add(100)
console.log(result)
7.对象的拷贝

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

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

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

8.箭头函数
let fn = (a)=>{
    return a+100
}
let res=fn(100)
console.log(res)
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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fairy要carry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值