ES6
DF11G_0001
We choose to go to the moon in this decade and do the other things, not because they are easy, but because they are hard.
展开
-
ES6学习笔记(十六)异步与Promise
最简单的Promise示例let p = new Promise((resolve, reject) => { setTimeout(() => { console.log('Faker') //传递参数 resolve('Good') }, 1000)}).then((res) => { // 成功时调用 console.log(res)}, (err) => { // 失败时调用 conso原创 2020-08-26 00:26:33 · 125 阅读 · 0 评论 -
ES6学习笔记(十五)Ajax
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。、Ajax三三步骤:创建请求,发送请求,服务器响应fun原创 2020-08-23 11:17:28 · 202 阅读 · 0 评论 -
ES6学习笔记(十四)数值扩展
进制的转换ES5方法十进制转换其他进制 Number.toString()let a = 5console.log(a.toString(2)) // 101其他进制转换为十进制 parseInt(原数字,原数字进制)let a = 101console.log(parseInt(a, 2)) // 5原创 2020-08-20 15:39:09 · 130 阅读 · 0 评论 -
ES6学习笔记(十三)字符串扩展
模板字符串使用反引号调用。可以直接换行来换行,可以使用${ }的形式添加变量嵌套模板时,可以使用模板字符串。带标签的模板字符串:标签函数的第一个参数包含一个字符串值的数组。其余的参数与表达式相关。...原创 2020-08-19 14:29:35 · 101 阅读 · 0 评论 -
ES6学习笔记(十二)新的数据结构 Map
MapMap以键值对的形式储存数据,Key值可以是对象。let a = new Map()let obj = { name: 'Faker'}// set()a.set(obj, 'SKT T1')console.log(a) // Map(1){{…} => "SKT T1"}// get()console.log(a.get(obj)) // SKT T1// has()console.log(a.has(obj)) // true// delete()a.原创 2020-08-18 21:47:16 · 140 阅读 · 0 评论 -
ES6学习笔记(十一)新的数据结构 Set
Set简介Set类似数组。Set方法可以使用add添加元素,支持链式操作。let a = new Set([1, 2, 3])a.add('Faker').add('Bang')console.log(a) // Set(5){1, 2, 3, "Faker", "Bang"}可以使用 delete() 方法删除元素let a = new Set(['Faker', 'Bengi', 'Wolf'])a.delete('Bengi')console.log(a) // .原创 2020-08-17 15:18:58 · 124 阅读 · 0 评论 -
ES6学习笔记(十)Symbol
Symbol 的语法Symbol不是一个对象,也没有构造函数,因此无法使用new创建。可以理解为不可重复的字符串两个看上去相同的Symbol会返回falselet a = Symbol()let b = Symbol()console.log(a === b) // falselet a = Symbol('Faker')let b = Symbol('Faker')console.log(a === b) // false使用toString()方法会返回symbol值原创 2020-08-16 22:33:45 · 118 阅读 · 0 评论 -
ES6学习笔记(九)ES6的面向对象和继承
创建对象和继承的一般流程class Person { constructor(name, age) { this.name = name this.age = age } showName() { console.log(this.name) }}let clozer = new Person('clozer', '19')clozer.showName() // clozerclass SKT extends P原创 2020-08-16 00:59:34 · 147 阅读 · 0 评论 -
ES6学习笔记(八)深拷贝 浅拷贝
特殊的assign()如果assign()的拷贝类型是简单类型,拷贝形式为深拷贝let obj_1 = { name: 'Faker', age: 24}let obj_2 = {}Object.assign(obj_2, obj_1)console.log(obj_2) // {name: "Faker", age: 24}如果assign()的拷贝形式为对象或其它引用类型,拷贝类型为浅拷贝let obj_1 = { name: 'Faker',原创 2020-08-10 23:40:38 · 137 阅读 · 0 评论 -
ES6学习笔记(七)对象的扩展
属性简洁表示法let name = 'Faker'let age = '25'let obj = { name, age}console.log(obj) // {name: "Faker", age: "25"}属性名表达式JS中key-value存取var map = {};map['key1'] = 1;map['key2@'] = 2; console.log(map['key1']);//结果是1.console.log(map['key2@'原创 2020-08-07 23:12:11 · 117 阅读 · 0 评论 -
ES6学习笔记(六)箭头函数
箭头函数的写法参数在箭头左,函数体在箭头右let foo = (x, y) => { return x + y}console.log(foo(1, 2)) // 3this指向的是定义的对象,而不是调用的对象换句话说,箭头函数根本没有this箭头函数中的this是从上一层引入的this正常函数的this:在HTML中加个id为btn的按钮.let oBtn = document.querySelector('#btn')console.log(oBt原创 2020-07-27 20:12:59 · 147 阅读 · 0 评论 -
ES6学习笔记(五)扩展运算符和rest参数
扩展运算符 ...扩展运算符:把数组或类数组打散成逗号分隔的单个值可用于合并数组let a = [1, 2, 3]let b = [4, 5, 6]console.log(...a) //1 2 3a.push(...b)console.log(a) //(6)[1, 2, 3, 4, 5, 6]对于字符串这种类数组,也可以let a = 'Faker'console.log(...a) //F a k e rrest参数rest参数的含义是将多个分散的值组合为有.原创 2020-07-27 16:07:42 · 149 阅读 · 0 评论 -
ES6学习笔记(四)函数的参数
参数的默认值为函数的参数设置初始值时,ES6的新方法function foo(x, y = '123') { console.log(x, y)}foo('abc')BTW,参数变量相当于默认声明.在函数中重复声明参数变量会报错.//错误function foo(x, y = '123') { let x = 1}foo('abc')※默认参数必须放在最后.以便于进行使用.解构赋值function foo({ x, y = '123' } =原创 2020-07-26 22:25:54 · 130 阅读 · 0 评论 -
ES6学习笔记(三)数组的扩展
类数组:简单举个例子我们用DOM元素获取两个DOM类数组,最终判定为两个HTMLCollection[]和NodeList[],并不是真正意义上的数组.let doms_1 = document.getElementsByClassName('xx')let doms_2 = document.getElementsByTagName('xx')let doms_3 = document.querySelectorAll('.xx')console.log(doms_1)console原创 2020-07-26 19:17:29 · 161 阅读 · 0 评论 -
ES6学习笔记(二)数组
数组遍历的种种for循环,不用说。forEach() 没有返回值,只是针对每个元素调用func,不支持continue,break,returnmap() 返回新的数组,每个元素为调用func的结果filter() 返回符合func条件的元素数组some() 返回boolean,判断是否有元素符合func条件every() 返回boolean,判断每个元素都符合func条件reduce() 接收一个函数作为累加器for...of(支持break,continue,return原创 2020-07-02 20:20:42 · 135 阅读 · 0 评论 -
ES6学习笔记(一)声明方式 和 数据类型
新的声明方式let五个性质:不属于顶层对象window不允许重复声明不允许变量提升暂时性死区块级作用域新的声明方式const五个性质:不属于顶层对象window不允许重复声明不允许变量提升暂时性死区块级作用域const作为常量的一些性质:不可改变的是const指向的地址。对于数值等常量,不可更改;对于数组和对象,其内容和所含元素可以更改。如果想冻结const对象,可使用Object.freeze(冻结的对象)函数。...原创 2020-06-29 20:06:19 · 122 阅读 · 0 评论