ECMAScript

news2024/10/6 1:44:28

介绍

在这里插入图片描述

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)
)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/20517.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【算法】用动态规划求解背包问题

1.问题描述 有n种物品&#xff0c;每种物品的单件重量为w[i],价值为v[i]。现有一个容量为V的背包&#xff0c;如何选取物品放入背包&#xff0c;使得背包内物品的总价值最大。 下面是本题中我们使用的例子&#xff1a; 有三个物品&#xff0c;第一个物品的重量为3&#xff0c;…

【附源码】Python计算机毕业设计图书销售系统设计

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

用友vs金蝶产品分析(云星空与YonSuite)

产品定位 用友与金蝶二者面对的客户群体是相同的&#xff1a;都是为成长型企业提供一体化服务&#xff0c;由于金蝶云星空发展较早&#xff0c;在部分产品功能上具备一定的先发优势&#xff1b;在产品的架构上&#xff0c;由于YS采用目前最先进的云原生和微服务架构&#xff0…

Bootstrap(一)

目录&#xff1a; &#xff08;1&#xff09;bootstrap容器 1.简单框架使用 2.流体容器 3.固定容器 4.栅格系统 &#xff08;1&#xff09;bootstrap容器 1.简单框架使用 bootstrap-3.3.7、bootstrap-3.3.7-dist 是原码文件&#xff0c;带dist是编译完的&#xff0c;里面…

5.C语言常见运算符及其优先级

运算符 用算术运算符将运算对象&#xff08;也称操作数&#xff09;连接起来的、符合C语言规则的式子&#xff0c;称为C算术表达式。运算对象包括常量、变量、函数等。 例如&#xff1a;a * b / c - 1.5 ‘a’ 运算符的分类 1.双目运算符&#xff1a;即参加运算的操作数有两…

SpringBoot--获取路径中的参数(x-www-form-urlencoded)--方法/实例

原文网址&#xff1a;SpringBoot--获取路径中的参数(x-www-form-urlencoded)--方法/实例_IT利刃出鞘的博客-CSDN博客 简介 本文用示例介绍SpringMVC如何获取路径中的参数。也就是&#xff1a; Content-Type为x-www-form-urlencoded。 代码 Controller BasicController.java…

在线考试系统

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…

Prometheus邮件告警

一. 部署Alertmanager&#xff1a; 1. 解压Alertmanager压缩包&#xff1a; [rootnode5 ~]# tar xf alertmanager-0.24.0.linux-amd64.tar.gz -C /usr/local/ 2. 为解压后的文件做软连接&#xff1a; [rootnode5 ~]# ln -sv /usr/local/alertmanager-0.24.0.linux-amd64/ …

SSM整合(三)

redis之简单使用 1.准备工作 1.1 在resource资源文件夹下面创建redis.properties文件,并填写如下内容 #连接端口 redis.port6379 #连接地址 redis.host127.0.0.1 #超时时间&#xff1a;单位ms redis.timeout3000 #授权密码 redis.password #最大连接数&#xff1a;能够同时建…

GUI编程--PyQt5--QLineEdit

文章目录键盘文本输入框文本占位符密码显示与隐藏自动补全输入限制掩码字符光标移动设置文本区域常用编辑功能输入控件&#xff0c;用于捕获用户的信息键盘文本输入框 QLineEdit, 单行&#xff0c;纯文本输入框 # 实例化 文本输入框 le QLineEdit("默认值", windo…

Material Design之CoordinatorLayout 与AppbarLayout与CollapsingToolbarLayout

Material Design 之 CoordinatorLayout 第一次接触CoordinatorLayout 你可能有这些疑问&#xff0c;CoordinatorLayout 到底是个什么玩意儿呢&#xff1f;它到底能帮我们做什么&#xff1f;我们要了解它&#xff0c;肯定是先看官方文档了。文档的第一句话就非常醒目&#xff1a…

高职网络系统管理比赛实例

同一交换机不同端口配置不同vlan&#xff0c;实现同一交换机内不同业务部门隔离。 在路由器中配置斜面的内容 1 输入enableRuijie>enable 2 第一次使用该交换机时&#xff0c;需要设置密码&#xff0c;然后再次确认密码 Please Set the password:*** Please check the pass…

掌握这10个Pandas函数,助你彻底了解数据集

10个帮助你完全理解数据集的Pandas 函数 长按关注《Python学研大本营》&#xff0c;加入读者群&#xff0c;分享更多精彩 扫码关注《Python学研大本营》&#xff0c;加入读者群&#xff0c;分享更多精彩 Pandas是用于探索性数据分析 (EDA)的最佳 Python 模块。 许多初级数据科…

如何在liunx下实现一个简单的程序?

目录&#xff1a;安装nano写代码保存退出查看文件内容生成可执行程序控制台输出你的代码博后小知识&#xff08;gcc -g -o -c分别是什么意思&#xff1f;&#xff09;安装nano [rootVM-8-11-centos ~]# yum install -y nano 写代码 [rootVM-8-11-centos ~]# nano no_die.c 保存…

向量加权平均算法附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

【C++学习第八讲】简单变量(二)

目录&#xff1a;简单变量&#xff08;二&#xff09;一、无符号类型二、选择整型类型三、 char类型&#xff1a;字符和小整数一、无符号类型 前面介绍的4种整型都有一种不能存储负数值的无符号变体&#xff0c;其优点是可以增大变量能够存储的最大值。 例如&#xff0c;如果…

软件测试---

一 : 主要内容 二 : 什么是软件测试 在规定的条件下对程序进行操作&#xff0c;以发现程序错误&#xff0c;衡量软件质量&#xff0c;并对其是否能满足设计要求进行评估的过程.上面这是官话 . 在我们日常生活中 , 就有许多测试的行为 , 比如地铁站的金属检测仪 , 用于检测旅客…

深度学习——损失函数推导过程(三个方面诠释损失函数的由来意义)

三个维度诠释损失函数 我们在学习机器学习的过程中&#xff0c;通常利用损失函数来衡量模型所做出的预测离真实值之间的偏离程度。 损失函数大致分为3类方法 最小二乘法极大似然估计法交叉熵 1.最小二乘法 这个方法是最显而易懂的&#xff0c;假设x是真实值&#xff0c;y是…

【PyTorch】Neural Network 神经网络

文章目录四、Neural Network 神经网络1、Containers - Module2、Convolution Layers - functional.conv2d2.1 stride2.2 padding3、Convolution Layers - Conv2d3.1 in_channels out_channels4、Pooling layers - MaxPool2d4.1 ceil_mode4.2 TensorBoard5、Non-linear Activati…

Eclipse启动SpringBoot无法读取application.properties或者application.yml文件内容

原因 eclipse配置源代码excludes过滤掉了application.properties或application.yml造成的 解决 2.1 右键项目&#xff0c;选Build Path --> Configure Build Path 2.2 找到 Source --> resources --> Excluded&#xff0c;点击Edit 2.3 点击Edit 2.4 将**改成Non…