目录

章节 地址
JavaScript教程_基础(一) https://blog.csdn.net/weixin_46349544/article/details/124084866
JavaScript教程_ES6(二) https://blog.csdn.net/weixin_46349544/article/details/124085873

1 对象的简化写法

ES6允许在大括号里面,直接写入变量和函数,作为对象的属性和方法,这样的书写更加简洁

let name = 'aaa';
let change = function(){console.log('change()执行了...');
}//未简化的完整写法
const school = {name: name,change: change,improve: function(){consolg.log('improve()执行了...');}
}//简化的写法
const school1 = {name,change,improve(){consolg.log('improve()执行了...');}
}

2 结构赋值

什么是解构赋值:
ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构赋值

演示代码:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>解构赋值</title>
</head><body><script>// ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构赋值; // 1、数组的解构赋值 const F4 = ["大哥", "二哥", "三哥", "四哥"];let [a, b, c, d] = F4;// 这就相当于我们声明4个变量a,b,c,d,其值分别对应"大哥","二哥","三哥","四哥"console.log(a + b + c + d); // 大哥二哥三哥四哥 // 2、对象的解构赋值 const F3 = {name: "大哥",age: 22,sex: "男",xiaopin: function () {// 常用console.log("我会演小品!");}}let { name, age, sex, xiaopin } = F3; // 注意解构对象这里用的是{}console.log(name + age + sex + xiaopin); // 大哥22男 xiaopin(); // 此方法可以正常调用 </script>
</body></html>

3 模板字符串

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title>
</head><body><script>// 声明字符串的方法:单引号('')、双引号("")、反引号(``)// 声明 let string = `我也一个字符串哦!`;console.log(string);// 特性 // 1、字符串中可以出现换行符let str = `<ul><li>大哥</li><li>二哥</li><li>三哥</li> <li>四哥</li></ul>`;console.log(str);// 2、可以使用 ${xxx} 形式引用变量 let s = "大哥";let out = `${s}是我最大的榜样!`;console.log(out); </script>
</body></html>

4 箭头函数

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>箭头函数</title>
</head><body><script>// ES6 允许使用「箭头」(=>)定义函数。//声明一个函数// let fn = function(){// }// let fn = (a,b) => {//     return a + b;// }//调用函数// let result = fn(1, 2);// console.log(result);//1. this 是静态的. this 始终指向函数声明时所在作用域下的 this 的值function getName(){console.log(this.name);}let getName2 = () => {console.log(this.name);}//设置 window 对象的 name 属性window.name = '尚硅谷';const school = {name: "ATGUIGU"}//直接调用// getName();// getName2();//call 方法调用// getName.call(school);// getName2.call(school);//2. 不能作为构造实例化对象// let Person = (name, age) => {//     this.name = name;//     this.age = age;// }// let me = new Person('xiao',30);// console.log(me);//3. 不能使用 arguments 变量// let fn = () => {//     console.log(arguments);// }// fn(1,2,3);//4. 箭头函数的简写//1) 省略小括号, 当形参有且只有一个的时候// let add = n => {//     return n + n;// }// console.log(add(9));//2) 省略花括号, 当代码体只有一条语句的时候, 此时 return 必须省略// 而且语句的执行结果就是函数的返回值let pow = n => n * n;console.log(pow(8));</script>
</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>函数参数默认值</title>
</head>
<body><script>//ES6 允许给函数参数赋值初始值//1. 形参初始值 具有默认值的参数, 一般位置要靠后(潜规则)// function add(a,c=10,b) {//     return a + b + c;// }// let result = add(1,2);// console.log(result);//2. 与解构赋值结合function connect({host="127.0.0.1", username,password, port}){console.log(host)console.log(username)console.log(password)console.log(port)}connect({host: 'atguigu.com',username: 'root',password: 'root',port: 3306})</script>
</body>
</html>

6 模块化

index.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>ES6 模块化</title>
</head>
<body><script type="module">//1. 通用的导入方式//引入 m1.js 模块内容// import * as m1 from "./src/js/m1.js";// //引入 m2.js 模块内容// import * as m2 from "./src/js/m2.js";// //引入 m3.js // import * as m3 from "./src/js/m3.js";//2. 解构赋值形式// import {school, teach} from "./src/js/m1.js";// import {school as guigu, findJob} from "./src/js/m2.js";// import {default as m3} from "./src/js/m3.js";//3. 简便形式  针对默认暴露// import m3 from "./src/js/m3.js";// console.log(m3);</script><!-- <script src="./src/js/app.js" type="module"></script> -->
</body>
</html>

m1.js

//分别暴露
export let school = '尚硅谷';export function teach() {console.log("我们可以教给你开发技能");
}

m2.js

//统一暴露
let school = '尚硅谷';function findJob(){console.log("我们可以帮助你找工作!!");
}//
export {school, findJob};

m3.js

//默认暴露
export default {school: 'ATGUIGU',change: function(){console.log("我们可以改变你!!");}
}

JavaScript教程_ES6(二)相关推荐

  1. JavaScript 教程(二)

    面向对象编程 实例对象与 new 命令 JavaScript 语言具有很强的面向对象编程能力,这里介绍 JavaScript 面向对象编程的基础知识 对象是什么 面向对象编程(Object Orien ...

  2. JavaScript 教程(二) 1

    面向对象编程 实例对象与 new 命令 JavaScript 语言具有很强的面向对象编程能力,这里介绍 JavaScript 面向对象编程的基础知识 对象是什么 面向对象编程(Object Orien ...

  3. JavaScript教程之快速入门

    ##JavaScript教程 #js简介 javaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛 ...

  4. JavaScript教程--从入门到精通

    JavaScript是由Netscape公司开发并随Navigator导航者一起发布的.介于Java与HTML之间.基于对象事件驱动的编程语言,正日益受到全球的关注.因它的开发环境简单,不需要Java ...

  5. SAP UI5 初学者教程之二十四 - 如何使用 OData 数据模型试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  6. [翻译]asp.net ajax xml-script教程(二)

    原文地址:http://dotnetslackers.com/articles/atlas/xml_script_tutorial_part2.aspx asp.net ajax xml-script ...

  7. 菜鸟教程 之 JavaScript 教程

    From:菜鸟教程 JavaScript:https://www.runoob.com/ W3School JavaScript 教程:http://www.w3school.com.cn/js/in ...

  8. html5游戏制作入门系列教程(二)

    今天,我们继续html5游戏制作入门系列的系列文章.今天,我们将继续基础知识(也许甚至是高级技巧的基础).我要告诉你如何具有渐变颜色填充对象,绘制文本,使用自定义的字体绘制文本,基本的动画,以及最重要 ...

  9. ArcGIS Maritime Server 开发教程(二)ArcGIS 海图软件系列

    ArcGIS Maritime Server 开发教程(二)ArcGIS 海图软件系列 本章导读:ArcGIS 是一个成熟的 GIS 软件体系,无论是在海图的服务端管理.桌面软件使用还是海图功能定制方 ...

最新文章

  1. PyTorch 笔记(03)— Tensor 数据类型分类(默认数据类型、CPU tensor、GPU tensor、CPU 和 GPU 之间的转换、数据类型之间转换)
  2. a=10a=0C语言,C语言基础练习题(含答案)
  3. 安装memcached服务和PECL关于memcache的两个PHP扩展
  4. 【渝粤教育】广东开放大学 国际私法 形成性考核 (41)
  5. 微课|Python编写代理服务器程序(48分钟)
  6. Amber Group创始人兼CEO Michael Wu:CBDC将成为更广义、重要的加密资产
  7. 小结SpringMVC(一)
  8. unity 2018.3.0版本界面汉化
  9. python2.7中文手册下载_python 2.7.12中文文档下载|
  10. SSM框架介绍以及功能原理
  11. 如何将NCM转换成MP3 - NCM转MP3转换软件
  12. 怎么关闭Deep Freeze (冰点还原精灵单机版)
  13. 新交规驾驶证扣分什么时候清零
  14. 二叉树基础题(六):树的子结构二叉搜索树的判断镜像二叉树
  15. SWF (Simple Workflow Service)简介
  16. 地图符号库的制作方法-s52符号显示库中的矢量符号描述语言
  17. 成都智慧工地系统_智慧工地平台指导方案
  18. 软件测试行业就业前景到底怎么样?
  19. PostgreSQL 创建用户并赋予权限
  20. 《数据密集型应用系统设计》读书笔记——第二部分 分布式数据系统(一)

热门文章

  1. 经济危机 女人裙子的长短 ×××
  2. 乒乓测评:电视盒子哪个牌子最好?2023电视盒子品牌排行榜
  3. 从离岛大屿山到香港岛中环街市,万豪旅享家以七种全新视角重新探索香港
  4. 网络语音流隐写分析全流程 (Steganalysis of VoIP Speech Streams)
  5. 说走就走的旅行?你需要一个旅行必备清单
  6. General Command
  7. vue-cli2解决跨域问题
  8. linux 屏幕点不亮,电脑屏幕点不亮怎么办 电脑屏幕不亮的6种解决方法
  9. Java基础函数与简单算法练习题
  10. 金属零件同心度及毛边的视觉检测打光调试