JS(第二十四课)JS高级Es6语法

news2025/1/21 12:56:47

ECMAScript 6_百度百科 (baidu.com)

第一部分:百度简介

ECMAScript 6(简称ES6)是于2015年6月正式发布的JavaScript语言的标准,正式名为ECMAScript 2015(ES2015)。它的目标是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言 [1]  。

另外,一些情况下ES6也泛指ES2015及之后的新增特性,虽然之后的版本应当称为ES7、ES8等。

这又是ES6 JS高级Es6语法

1  let变量名的基本内容解释

  1. 1 变量不能重复的声明
  2. 2 块级的作用域  全局 函数 evel 只在代码块中有效
  3. 3 不存在变量的提升
  4. 4 不影响的作用域链的效果

1 声明变量的格式

  let a;
  let b,c,d;
  let f=567,g="liveyou",h=[];

2 块级的作用域  全局 函数 evel 只在代码块中有效

 {
     let  gair="李四"
     // console.log(gair)
 }
console.log(gair)

 3 不存在变量的提升

 console.log(aaa)
 var aaa="先鸟";
 let aaa="先鸟"

4 不影响的作用域链的效果

 {
     let school="上高速"
     function fn(){
         console.log(school)
     }
     fn()
 }
       

2   const 常量

  • 1 一定要有初始值
  • 2 一般常量用大写
  • 3 常量的值不能修改
  • 4 const 也是块级作用域
  • 5 对于数组和对象的元素修改 不算对常量的修改 不会报错
	const SCHOOL = "我要上高速"
	const TEAM = ['UZR', 'MXLG', 'MING', 'LETME'];
	// TEAM.push('Meiko')
	console.log(TEAM)

数组解构

 <!-- 数组解构-->
 <!--! ES6按照一定的模式从数组对象中提取值 对变量赋值  这被称为解构赋值-->
 <!-- !数组结构 -->
 <script>
     const F4=['A','B','C','D','E']
     let [a,b,c,d,e]=F4
     console.log(a+b+c+d+e)
 </script>
 <!-- !对象的结构 -->
 <script>
     const zhaomienan={
         name:"静态",
         age:'89',
         eat:function(){
             console.log("吃饭")
         },
         sleep:function(){
             console.log("睡觉吧")
         }
     
     };
 
     let {name,age,eat,sleep}=zhaomienan;
     console.log(name+"_"+age+"_"+eat+"_"+sleep)
     eat()
     sleep()
 </script>

 4 模板字符串[``]

  // 声明
  let str=`我是字符串的内容解析`
  console.log(str,typeof str)
  // 内容直接有换行符
  let str1=`<ul>
      <li>1</li>
      <li>2</li>
      <li>3</li>
      </ul>`
  // document.write(str1)
  // 变量的直接拼接
  let lover='上述'
  let out=`${lover}是我心中的偶像`
  console.log(out)

 5 对象的简化写法 

 <script>
     let name = "李四玩有幸"
     let change = function () {
         console.log("我可以改变你的内容信息")
     }
 
     const school = {
         // name:name
         name,
         change,
         imporve: function () {
             console.log("我深蓝了")
         },
         eat() {
             console.log("Hellow word")
         }
     }
     console.log(school)
 </script>

6 箭头函数

  • 1 this 是静态的  始终指向函数声明的作用域下的this 的值
  • 2 不能作为构造函数 实例化对象
  • 3 不能使用arguments对象
  • 4 箭头函数的简写      省略()有且只有一个
  •  () => {} //():代表是函数; =>:必须要的符号,指向哪一个代码块;{}:函数体

 <script>
     let fn = function () {
     }
     let fn1 = (a, b) => {
         return a + b;
     }
     let results = fn1(1, 1)
     console.log(results)
     // 箭头函数 
     // 1 this 是静态的  始终指向函数声明的作用域下的this 的值
     function getName() {
         console.log(this.name)
     }
     
     let getName2 = () => {
         console.log(this.name)
     }
     // 设置Window对象
     window.name = '加油'
     const school = {
         name: "ASDFGHJ"
     }
     // 直接调用
     // getName()
     // getName2()
     // call 方法的调用  改变this的值
     getName.call(school)
     getName2.call(school)
     // 2 不能作为构造函数 实例化对象
     // let Person=(name,age)=>{
         // this.name=name;
         // this.age=age;
     // }
     // let me=new Person("销毁",90);
     // console.log(me)
     // 3 不能使用arguments对象
     
     // let fn23=()=>{
         // console.log(arguments)
     // }
     // fn23(1.2,3)
     // 4 箭头函数的简写      省略()有且只有一个
     let add=n=>{
         return n+n;
     }
     console.log(add(9))
     // 省略{}  return
     let pow =(n)=>n*n
     console.log(pow(9))
 </script>
	
	

 7 形参的初始值与结果赋值使用

 // 形参的初始值
 // function add(a,b,c,d,e){
 // return a+b+c+d+e;
 // }
 // let result=add(1,2,3,4);
 // console.log(result)
 // 与结果赋值使用
 function connect(host = "127.0.9.0", username, password, port) {
     console.log(host)
 }
 connect({
     host: "123456",
     username: "李四上栅",
     password: "12345678",
     port: "33060987"
 })
 // ES5
 function date1() {
     console.log(arguments)
 }
 date1("1张三", "2李四", "3空", "4思考", "5小康", "6订单")
 // rest 参数 必须放在最后 这是为什么?
 function date(...args) {
     console.log(args)
 }
 date("1张三", "2李四", "3空", "4思考", "5小康", "6订单")
 function fn4(a, b, c, d, e, f, ...args) {
     console.log(a);
     console.log(b);
     console.log(c);
     console.log(d);
     console.log(e);
     console.log(f);
     console.log(args);
 }
 fn4("1张三", "2李四", "3空", "4思考", "5小康", "6订单","47思考", "58小康", "69订单","4思考", "5小康", "6订单")

 8 扩展运算符 能将数组转换为逗号分开 参数序列化

  <script>
      const tyop=['XXX','YYY','RRR','HHH','LLL','WWW','DDD','FFF','SSS']
      function chunwan(){
          console.log(arguments)
      }
      chunwan(...tyop)
  </script>
  
	<script>
		//定义一个集合
		let arrayLike = {
		    '0': 'a',
		    '1': 'b',
		    '2': 'c',
		    length: 3
		}; 
		//转成数组
		let arr2 = Array.from(arrayLike); // ['a', 'b', 'c']
		console.log((arr2))
	</script>

 9 扩展运算符的应用

 <!-- 扩展运算符的应用 -->
 <div></div>
 <div></div>
 <div></div>
 <!--! 数组的并和 亲生 误删 唐安 -->
 <script>
     const kuaizi=['效率','小明',"小王","小鸡"]
     const fangkuang=['小坡','老婆','欧赔']
     constfangkuang1=kuaizi.concat(fangkuang)
     // ES5
     console.log(constfangkuang1)
     // ES6
     const hebing=[...kuaizi,...fangkuang]
     console.log(hebing)
     // 数组克隆
     const san=['A','B','C']
     const sane=[...san]
     console.log(sane)
     // 3 将伪数组转为真正的数组
     const divs=document.querySelectorAll("div");
     const divArr=[...divs];
     console.log(divArr)
 </script>

 

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

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

相关文章

mybatis 01: 静态代理 + jdk动态代理 + cglib动态代理

背景 有时目标对象不可直接访问&#xff0c;只能通过代理对象访问 图示&#xff1a; 示例1&#xff1a; 房东 > 目标对象房屋中介 > 代理对象你&#xff0c;我 > 客户端对象示例2&#xff1a; 运营商(电信&#xff0c;移动&#xff0c;联通) > 目标对象第三方公司…

(Java)P1223 排队接水

排队接水 一、 题目描述 有 nnn 个人在一个水龙头前排队接水&#xff0c;假如每个人接水的时间为 TiT_iTi​&#xff0c;请编程找出这 nnn 个人排队的一种顺序&#xff0c;使得 nnn 个人的平均等待时间最小。 二、输入格式 第一行为一个整数 nnn。 第二行 nnn 个整数&…

Linux下加密库Libsodium 使用实践(ip监听、封装的加密消息、运行系统命令)

Libsodium 是一个用C语言编写的库&#xff0c;是一种新的易于使用的高速软件库&#xff0c;用于网络通信、加密、解密、签名等实现和简化密码学。 完成 Libsodium 安装 Libsodium 是一个用于加密&#xff0c;解密&#xff0c;数字签名&#xff0c;密码哈希&#xff0c;等的&a…

java每日一练(4)

java每日一练(4) 文章目录单选部分不定项选择题多选题编程题单选部分 1.下列与队列结构有关联的是&#xff08;&#xff09; A 函数的递归调用   B 数组元素的引用   C 多重循环的执行   D 先到先服务的作业调度 队列的特点 &#xff1a; 先进先出 , 所以 答案非常明显 D  …

【python】通过gitlab v4版本api接口获取所有项目代码示例

目录一、环境信息二、参数说明三、脚本使用说明1. 使用python2运行git.py2. python脚本执行完毕会自动生成如下四个文件3. 其他脚本说明四、脚本源码1. git.py2. update.sh五、脚本扩展说明附录一、环境信息 脚本适用于&#xff1a;python2 测试版本&#xff1a;2.7.18 二、…

于我来说,赌才是世界杯的灵魂~

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。 先看这里前言了解足球首看世界杯再看世界杯前言 身边朋友也有踢球的&#xff0c;但是不多。就两个&#xff0c;一个是我同学&#xff0c;一个是我同事…打篮球的倒是不少&#xff0c;猜想…

这五个适合上班族的副业你知道多少

第二职业赚钱的路子有什么&#xff1f;从理论上讲&#xff0c;第二职业就是一个创业的过程&#xff0c;也遵照自主创业一般规律。可是第二职业是在业余时间和没有灵活运用资源挣钱&#xff0c;和创业有所不同。第二职业门坎变低&#xff0c;更比较发达&#xff0c;因此今天小编…

Arduino--音乐频谱

本文主要介绍基于Arduino实现的音乐频谱显示&#xff0c;音乐频谱原理就是声音传感器&#xff08;MIC&#xff09;接收音频信号后通过FFT将时域信号转换成频域信号&#xff0c;再将音频信号频域分量分别显示在对应的LED点阵屏上&#xff0c;呈现出音乐随频律动的感觉&#xff0…

Windows Docker Desktop安装K8S

Docker DeskTop提供了K8S支撑&#xff0c;安装也较为简单。对于本地开发&#xff0c;测试部署项目较为方便。下面进行简单说明。 DockerDesktop配置镜像源&#xff0c;较为简单&#xff0c;有许多网上例子直接参考即可。启用K8S等待一阵子&#xff0c;K8S即可安装成功。可以看…

MySQL存储引擎介绍

首先 我们要知道 什么是引擎 我们常见的 客机 直升机 火箭等等 他们都有自己的引擎 引擎也就是指一个机器的核心 当然 你如果是一个飞机 那你自然是不能用火箭的引擎的 存储引擎就是存储数据 建立索引 更新/查询数据等技术的实现方式&#xff0c;存储引擎是基于表的&#xf…

TDK | CeraLink 电容器快速切换逆变器的革新

本周向大家介绍另一款压电技术的产品CeraLink。 CeraLink 是一系列非常紧凑的电容器&#xff0c;用于稳定直流链路中的电压。因此它们适合用作缓冲器或直流母线电容器。这些产品基于 PLZT 陶瓷&#xff0c;旨在为工程师提供针对快速开关转换器、空间要求非常紧凑的转换器和需要…

Java项目:饰品商城系统(java+SSM+JSP+javascript+jQuery+Mysql)

源码获取&#xff1a;俺的博客首页 "资源" 里下载&#xff01; 项目介绍 本项目分为前台与后台&#xff0c;有普通用户与管理员两种角色&#xff1b; 管理员角色包含以下功能&#xff1a; 管理员登录,用户管理,一级分类管理,二级分类管理,饰品管理,订单管理、发货、…

Linux中对磁盘(硬盘)分区和挂载

记录&#xff1a;346 场景&#xff1a;在CentOS 7.9操作系统上&#xff0c;使用fdisk对磁盘分区&#xff1b;使用mkfs.xfs创建文件系统&#xff1b;使用mount挂载磁盘到目录&#xff1b;使用umount卸载目录已挂载的磁盘&#xff1b;修改文件系统表fstab&#xff0c;满足开机启…

【计算机毕业设计】网上游戏代练商城系统

一、系统截图&#xff08;需要演示视频可以私聊&#xff09; 摘要 随着当今社会的发展&#xff0c;时代的进步&#xff0c;各行各业也在发生着变化&#xff0c;本系统健身房这一方面&#xff0c;利用网站游戏代练已经逐步进入人们的生活。传统的网上游戏代练&#xff0c;都是用…

前端基础入门

HTML的基本概念 WWW&#xff08;World Wide Web&#xff0c;万维网&#xff09;是一种建立在Internrt上的、全球性的、交互的、多平台的、分布式的信息资源网络。它采用HTML语言描述超文本&#xff08;Hypertext&#xff09;文件。这里所说的超文本文件指的是包含链接关系和多…

数据结构与算法中的图

数据结构与算法中的图 图的定义与术语 在线性结构之间&#xff0c;数据元素之间满足唯一的线性关系。每个数据元素&#xff08;除第一个和最后一个外&#xff09;只有一个****直接前趋和直接后继** 在树形结构中&#xff0c;数据元素之间有着明显的层次关系&#xff0c;并且每…

实验四、R_b变化对Q点和电压放大倍数的影响 ​

一、题目 研究 RbR_bRb​ 变化对 QQQ 点和 A˙u\dot A_uA˙u​ 的影响。 二、仿真电路 仿真电路如图1(b)、(ccc)所示。晶体管采用 FMMT5179。其datasheet的相关参数如下&#xff1a;(a)FMMT5179的参数(a)\textrm{FMMT5179}的参数(a)FMMT5179的参数 (b)Rb为3MΩ时的情况(b)R…

RDD——Action算子

常用Action算子 countByKeycollectreducefoldfirsttaketopcounttakeSampletakeOrderedforeachsaveAsTextFile countByKey() 返回值是一个 字典类型 ## 读取文本文件 rdd1 sc.textFile(f"file:///{ROOT}/data/input/words.txt") rdd2 rdd1.flatMap(lambda x:x.spl…

【数字信号去噪】小波软阈值+硬阈值+改进阈值数字信号去噪【含Matlab源码 1025期】

⛄一、小波语音降噪简介 对于噪声频谱遍布于语音信号频谱之中的宽带噪声&#xff0c;如果噪声振幅比大部分的语音信号振幅低&#xff0c;则削去低幅度成分也就削去了宽带噪声。基于这种思路&#xff0c;可以在频域中采取中心限幅的方法&#xff0c;即让带噪语音信号通过一限幅…

实战关于登录框的渗透测试

前言 登录框可以说是我们漏洞挖掘中最常见的点&#xff0c;漏洞的种类也是相当的多&#xff0c;相信大家在登录框中发现的漏洞数不胜数。 主要有以下这些漏洞 弱口令 SQL注入 水平越权 垂直越权 逻辑漏洞 短信轰炸 邮箱轰炸 信息泄露SQL注入 看到登录框&#xff0c;输入信…