首页 > 编程语言 >ES6与JavaScript学习总结

ES6与JavaScript学习总结

时间:2022-10-30 21:58:23浏览次数:54  
标签:总结 ES6 定义 JavaScript alert let 变量

菜鸟的ES6与JavaScript学习总结
说明
一、概述
(1)什么是javascript?
(2)什么是ES6
(3)ES6和JavaScript的关系
(4)ES6的浏览器兼容情况
二、语法
(1)变量
(2)箭头函数
(3)解构赋值
(4)数组操作
(5)字符串操作
(6)面向对象
说明
更新时间:2020/7/14 17:32,更新了整体内容

记录JavaScript与ES6的关系以及ES6的语法,本文会持续更新,不断地扩充

本文仅为记录学习轨迹,如有侵权,联系删除

一、概述
首先需要搞清楚如下几个问题

(1)什么是javascript?
重新认识一下javascript,定义是javascript是一种弱类型的脚步语言,用于动态渲染html。仅此而已?更深入了解的话,发现其实javascript由核心(ESMAScript)、文档对象模型(DOM)和浏览器对象模型(BOM)三部分组成。其中ESMAScript就是本文的重点。

(2)什么是ES6
ES全称ECMAScript,ES6是它的第六个版本(以下简称ES6),它是JavaScript语言的下一代标准,已经在2015年6月正式发布了,所以ES6也称为ES2015。Mozilla公司将在这个标准的基础上,推出JavaScript 2.0。除此之外还有ES还有其他版本,像ES5等,目前ES6还不被大多数浏览器兼容。

(3)ES6和JavaScript的关系
简单一句话总结就是,ECMAScript是JavaScript语言的国际标准,JavaScript是ECMAScript的实现。所以ES6是JavaScript的一个实现标准。更准确来说JavaScript由核心(ESMAScript)、文档对象模型(DOM)和浏览器对象模型(BOM)三部分组成。

(4)ES6的浏览器兼容情况


二、语法
(1)变量
跟ES5相比较,ES6主要增加了两个关键字,用于定义变量,之前定义变量都是var关键字,用var关键字定义变量有什么缺点吗?

缺点 说明
1、变量可以重复定义 var a = 1;var a = 2;重复定义,使用的时候会覆盖前面的值
2、无法限制修改 没有常量和变量的概率,基本所有var定义的变量可以随意修改
3、没有块级作用域 定义的变量基本全局都可以访问
上面这些缺点如果在小型的开发倒是没什么问题,但是如果是大型开发的话,则会出现各种问题,像是变量名冲突,作用域出错问题等,所以为了解决这些问题,ES6新增了两个关键字let和const

关键字 说明
let 用于定义变量,不能重复定义,可以修改,块级作用域
const 用于定义常量,不能重复定义,不可以修改,块级作用域
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>

<script>
let a = 10;
const PI = 3.14;
alert(a)
alert(PI)

</script>
</head>

<body>

</body>

</html>

(2)箭头函数
ES6新定义了一个函数的写法,叫箭头函数,具体如下代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>

<script>
window.onload = function(){
alert("ES6之前的写法")
}

window.onload = ()=>{
alert("ES6的箭头函数写法")

// 语法:(变量名1,变量名2,...)=>{
// ...
// }
}


// 举例说明
let result1 = (a,b)=>{
let c = a+b;
return c;
}

let result2 = (a,b = 10)=>{
let c = a+b;
return c;
}

alert(result1(1,2))
alert(result2(20))

</script>
</head>
<body>
</body>
</html>

简洁明了

(3)解构赋值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>

<script>

// 语法:
// 1、赋值号两边结构必须一样
// 2、声明和赋值同时完成

let [a,b,c] = [1,2,3]//数组的定义
alert(a)
alert(b)
alert(c)


let {d,e,f} = {d:4,e:5,f:6}//json的定义
alert(d)
alert(e)
alert(f)


let [{g,h},[i,j],k] = [{g:7,h:8},[9,10],"hello"]//混合用法
alert(g)
alert(i)
alert(k)

let [json,array,str] = [{g:7,h:8},[9,10],"hello"]//混合用法
alert(json)
alert(array)
alert(str)

 

 

</script>
</head>

<body>

</body>

</html>

(4)数组操作
数组的操作主要学习几个函数,这里只列举两个map和filter

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>

<script>

//(1) map:一对一映射
// 举例1
let array = [1,2,3]
let result = array.map((item)=>{
return item*2;
});
alert(result)


// 举例2
let score = [78,13,56,89,90,100]
let result2 = score.map(item=> item>=60? '及格':'不及格')
alert(result2)

 

//(2)filter:过滤器
let num = [1,2,3,4,5,6,7,8,9,10]
let result3 = num.filter(item=>{
// 或者简写为
//return item%2;

if(item%2 == 0){
return true;
}else{
return false;
}
})
alert(result3)

 

</script>
</head>

<body>

</body>

</html>


(5)字符串操作
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>

<script>

//1、两个方法,
let str = "abc";
alert(str.startsWith('a'))//true
alert(str.endsWith('c'))//true
alert(str.startsWith('b'))//false

//2、字符串模板:反单引号用法
let a = `abc`
let b = `this is ${a} apple`

alert(b)//this is abc apple

 

</script>
</head>

<body>

</body>

</html>
(6)面向对象

标签:总结,ES6,定义,JavaScript,alert,let,变量
From: https://www.cnblogs.com/itjeff/p/16842355.html

相关文章

  • 2022-2023-1 20221310 《计算机基础与程序设计》第九周学习总结
    作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEE......
  • 2022-2023-1 20221422 《计算机基础与程序设计》第九周学习总结
    作业信息这个作业属于哪个课程<班级的链接>2022-2023-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>2022-2023-1计算机基础与程序设计第一周作业)......
  • #yyds干货盘点#数据可视化总结
    最近在做可视化相关的项目,借这篇文章今天谈谈数据可视化相关的技术解决方案。数据可视化旨在借助于图形化手段,清晰有效地传达与沟通信息(来源于bd).在我们生活中最常见的,就有......
  • 2022-2023-1 20221320 《计算机基础与程序设计》第九周学习总结
    学期(2022-2023-1)学号(20221320)《计算机基础与程序设计》第九周学习总结作业信息各项要求具体内容<班级的链接>2022-2023-1-计算机基础与程序设计<作业要求......
  • 第五周总结
    周总结正则表达式案例:注册手机号基本要求:手机号必须是11位、手机号必须是以1315171819开头、必须是纯数字python结合正则实现:importrephone_number=input('......
  • weekfour——周总结
    weekfour——周总结正则表达式前戏'''案例:京东注册手机号校验基本需求:手机号必须是11位、手机号必须以1315开头、必须是纯数字'''phone=input('请输入您的手......
  • 10月30总结
    10月30总结一、正则表达式正则表达式是一些特殊的符号组合在一起产生一些特殊含义,它能帮助我们方便的检查一个字符串中符合条件的数据值。正则表达式线上测试网址:http:......
  • 2022-2023-1 20221312 《计算机基础与程序设计》第九周学习总结
    班级链接:首页-2022-2023-1-计算机基础与程序设计-北京电子科技学院-班级博客-博客园(cnblogs.com)作业要求:2022-2023-1《计算机基础与程序设计》教学进程-娄......
  • 2022-2023-1 20221327《计算机基础与程序设计》第九周学习总结
    作业信息这个作业属于那个班级 https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK09作业目标 ......
  • cv学习总结(SVM,softmax)10.24-10.30
          本周完成了SVM课程笔记的阅读,包括SVM的基本原理以及SVM的优化过程,以及实现了SVM的两种损失函数(svm以及softmax)的线性分类器,以及学习了反向传播以及神经网......