随笔分类 -  ES6

摘要:ES6 支持模块化设计,可以使用导入导出的功能。在ES6之前使用的是 <script src="./module.js"></script> ,将外部文件引入进来,但是这种方法是存在问题的,如果代码量非常庞大,引入文件很多的情况下,多个文件的变量或是函数都会成为全局对象的属性,后引入的会覆盖之前的, 阅读全文
posted @ 2021-12-03 15:10 十七日尾 阅读(92) 评论(0) 推荐(0)
摘要:类class 在 ES6 之前,JavaScript 不能像其它语言(PHP,Java)等有完整的类支持;采用了原型链实现了面向对象的功能,但从 ES6 开始,提供了真正的类语法。它可以看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法。 通过 class 关键字定义类: //匿名 l 阅读全文
posted @ 2021-12-02 13:06 十七日尾 阅读(273) 评论(0) 推荐(0)
摘要:async 用来处理异步,它是对 Promise 的一种扩展,让异步更加方便;async 是基于 Promise 的,虽然是异步操作,但看上去像同步,更容易理解。 let p1=new Promise((resolve,reject)=>{ setTimeout(()=>{ resolve("异步1 阅读全文
posted @ 2021-12-01 23:55 十七日尾 阅读(627) 评论(0) 推荐(0)
摘要:Promise 异步通信编程的一种解决方案,它比传统回调式更加的强大;解决了ES6前多层次嵌套的同步、异步,执行顺序混乱且不好维护等问题。 Promise使用 new 来调用 Promise 的构造器来进行实例化,接受一个函数作为参数,并且要传入resolve、reject两个参数执行回调, new 阅读全文
posted @ 2021-11-30 22:07 十七日尾 阅读(129) 评论(0) 推荐(0)
摘要:学习的时候都学到过for循环,while循环等等,为什么会需要循环操作呢?因为有些时候我们希望计算机为我们重复的执行同样的操作,比如有一个“数组”,里面存储了10个数字,那么则会对这个数组进行循环操作,然后挨个输出。 我们可以很容易的用循环来遍历一个数组,因为数组在内存中的存储是连续的,可以通过数组 阅读全文
posted @ 2021-11-29 21:30 十七日尾 阅读(53) 评论(0) 推荐(0)
摘要:一、Set集合 Set集合是一种无重复元素的列表,使用 new Set() 方法创建Set集合。 let set=new Set(); add() 添加元素,返回Set结构本身 数值、字符串、对象、数组等都可以作为元素添加进set集合,如果重复添加元素,元素会折叠,数值 1 和字符串 "1" 不会冲 阅读全文
posted @ 2021-11-27 17:59 十七日尾 阅读(72) 评论(0) 推荐(0)
摘要:之前的基础数据类型有:字符串、数值、布尔、对象、null和undefined;ES6新增了一种基础数据类型Symbol,表示独一无二的值,类似ID。 通过 Symbol() 函数生成,生成的是一个原始类型的值,不能使用new命令,直接使用 Symbol() 。 let s=Symbol(); con 阅读全文
posted @ 2021-11-27 15:35 十七日尾 阅读(179) 评论(0) 推荐(0)
摘要:对象新增方法 Object.is() Object.is(value1,value2),判断两个值是否相等,与比较运算符“ ”基本一致,但解决了“ ”中的一些缺点 console.log(Object.is(100, '100')); //false 类型不同 console.log(Object. 阅读全文
posted @ 2021-11-26 21:05 十七日尾 阅读(151) 评论(0) 推荐(0)
摘要:简写改进 属性简写 ES6让对象字面量中属性初始值实现简写,在一定程度降低了代码量 首先写一下 ES5的写法 function f(name,age){ return{ name:name, age:age } } console.log(f("li",18)); 显然return里面的左右两边(属 阅读全文
posted @ 2021-11-26 17:23 十七日尾 阅读(53) 评论(0) 推荐(0)
摘要:箭头函数 ES6新增了一个使用箭头符号(=>)定义函数的语法特性 如果不需要传参数,可以直接用 () 返回。 函数代码: let f=function(){ return "li"; } 箭头函数语法: let f=()=>"li"; 箭头也可传递两个及两个以上的参数,并实现运算后返回: let f 阅读全文
posted @ 2021-11-25 22:33 十七日尾 阅读(62) 评论(0) 推荐(0)
摘要:函数传参 ES6之前函数是无法给参数设置默认值的,而ES6支持了该特性。 常见参数: 数值 数组 对象 函数 function f( name, age=100, arr=[], obj={}, call=function(){} ){ console.log(name); console.log( 阅读全文
posted @ 2021-11-25 21:34 十七日尾 阅读(38) 评论(0) 推荐(0)
摘要:解构操作 1)ES6提供了对数组和对象的字面量提取相关数据的方法:解构操作 2)使用解构操作的原因:JSON格式的普及,产生了大量数据提取工作,ES6的解构语法中对这种提取过程,带来了极大的便捷性。 解构赋值语法是一种 Javascript 表达式,可以将属性/值从对象/数组中取出,赋值给其他变量。 阅读全文
posted @ 2021-11-25 20:00 十七日尾 阅读(202) 评论(0) 推荐(0)
摘要:全局作用域 浏览器环境有一顶层对象window,window的属性和var的全局变量等价。 如果用var设置了window对象的内置属性作为变量,内置属性值将会被覆盖。 如果是window对象的内置属性,输出默认值;非内置则输出underfined。 console.log("window.name 阅读全文
posted @ 2021-11-24 18:37 十七日尾 阅读(73) 评论(1) 推荐(0)
摘要:var、let 声明变量 区别: 1.作用域 // 块级区域 { var a=10; let b=20; } console.log(a); //10 console.log(b); //引用错误 b is not defined 可以看到,var声明在块级区域以外有效,是可以获取到的,而let声明 阅读全文
posted @ 2021-11-23 20:00 十七日尾 阅读(116) 评论(0) 推荐(0)