当前位置: 首页 > news >正文

JavaScript(ES6)入门

ES6

1、介绍

ECMAScript  6(简称ES6)是于2015年6月正式发布的JavaScript 语言的标准,正式名为ECMAScript 2015(ES2015)。它的目标是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
另外,一些情况下ES6也泛指ES2015及之后的新增特性,虽然之后的版本应当称为ES7、ES8等。

2、新增功能

    2.1、let

ES6新增了let命令,用来声明变量。它的用法类似于var ,但是所声明的变量,只在let命令所在的代码块内有效。

    2.2、const

const声明一个只读的常量 。一旦声明,常量的值就不能改变,且声明时必须立即初始化,不能留到以后赋值。const的作用域与let命令相同:只在声明所在的块级作用域内有效。

    2.3、匿名函数简写

function(){} 匿名函数简写,语法()=>{}。

    2.4、模板字符串

声明一些html标签的字符串更简便,语法:`  ` 。

    2.5、对象定义

属性名和变量名一致的对象仅使用变量即可无需定义属性名。

    2.6、模块

            ES6引入了模块系统,可以导出和导入模块。
实战:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ECMA6</title>
</head>
<body>
    <div id="app">
        <!--ES6: EcmaScript 6.x ====> javascript chrome  jscript ie =====> ECMAScript 到今
              天js依然存在浏览器
            EcmaScript: 1.x=====> 7.x  8.x  ES11.x
            EcmaScript: 5.x   通用版5.x
            EcmaScript: 6.x   简称 ES6
            1.ES6中变量声明
         -->
    </div>
</body>
</html>
<script src="js/axios.min.js"></script>
<script src="js/vue.js"></script>
<script>
    //es6 1.变量声明  var  原因: 使用var声明变量存在作用范围混淆问题
    //  let     :用来声明局部变量   好处: 作用范围严谨 从代码声明出开始 到代码块结束  一般在
                  声明基本变量使用推荐使用let
    //  const   :用来声明js中常量   好处: 一旦被赋值不能被修改   推荐使用这两个关键字声明
                     变量 声明js中对象时推荐使用const 数组
    //es6 2.在使用匿名函数时作为参数时候 function(){}   推荐使用es6中箭头函数
    // (参数,参数)=>{函数体}
    axios.get("url").then(function(res){}).catch(function(err){});
    
    axios.get("url").then((res)=>{
    
    }).catch((err)=>{});
    
    //注意:
    //      1.当箭头函数没有参数时或者参数大于1个 必须加入()
    //      2.当箭头函数只有一个参数时 () 可以省略不写
    //      3.当函数体中只有一行代码时 函数体{} 可以省略不写
    //      4.箭头函数和匿名函数最大区别  箭头函数没有自己this   匿名函数存在自己的this
    //es6 3. 模板字符串   使用语法:  ` `
    let html = "<button οnclick=\"test('+id+')\">点我</button>" +
                    "<button οnclick=\"test('+id+')\">点我</button>";
    
    let html1 = `<div>
                    <h1>我是小黑</h1>
                    <button οnclick="test()">点我</button>
                </div>`;
    //es6 4. 对象定义  便利: 在定义对象时如果对象属性名和变量名一致,写一个即可
    let id = 21;
    let name = "小王";
    let age = 23;
    
    //es5.x版本
    const emp = {id:id,name:name,age:age};
    
    //es6.x版本
    const emp1 = {id,name,age}
    //es6 5. 模块导出和导入
    // 导出
    // math.js
    export const add = (a, b) => a + b;
    export const subtract = (a, b) => a - b;
    // 导入
    // main.js
    import { add, subtract } from './math.js';
    console.log(add(2, 3)); // 5
    console.log(subtract(5, 3)); // 2
</script>
了解更多参考文档: 1.1 ES6 教程 | 菜鸟教程
http://www.lryc.cn/news/356841.html

相关文章:

  • 深入分析 Android Activity (十)
  • 考试“挂了“用日语怎么说,柯桥商务日语培训
  • 【机器学习300问】103、简单的经典卷积神经网络结构设计成什么样?以LeNet-5为例说明。
  • 【代码随想录算法训练营第37期 第二十一天 | LeetCode530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先】
  • 2023 年网络等级保护考试题库及答案
  • springboot集成nacos
  • NoSQL数据库技术与应用 教学设计
  • 比较(一)利用python绘制条形图
  • 【面试】Oracle JDK和Open JDK什么关系?
  • 科学技术创新杂志科学技术创新杂志社科学技术创新编辑部2024年第10期目录
  • ES数据导出成csv文件
  • 结构型设计模式之装饰模式
  • Java - 当年很流行,现在已经淘汰的 Java 技术,请不要在继续学了!!!
  • 驻波比VSWR
  • 多线程-线程池
  • 护网期间遇到的几个上传bypass waf、edr
  • 简述MVC模式
  • C#--Mapster(高性能映射)用法
  • mysql实战——Mysql8.0高可用之双主+keepalived
  • 关于同一个地址用作两个不同页面时,列表操作栏按钮混淆状态
  • Oracle段延迟分配(Deferred Segment Creation)解析
  • Linux:IPC - System V
  • Laravel 图片添加水印
  • 嵌入式进阶——矩阵键盘
  • 请说出vue.cli项目中src目录每个文件夹和文件的用法
  • 【MySQL精通之路】InnoDB磁盘I/O和文件空间管理(11)
  • 基于springboot+html的二手交易平台(附源码)
  • 正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-24.3,4 SPI驱动实验-I.MX6U SPI 寄存器
  • 【Pandas】数据处理方法
  • 【ArcGIS For JS】前端geojson渲染行政区划图层并加标签