楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。人生三从境界:昨夜西风凋碧树,独上高

03 2022 档案

摘要:抽象与具体的集合类层次(Sets.js) /* AbstractSet 是具有 has 方法的集合 */ class AbstractSet { has(x) { throw new Error(`Abstract method`); } } /* 集合中不属于给定集合的所有元素的集合 */ cla 阅读全文
posted @ 2022-03-28 17:35 0a 阅读(39) 评论(0) 推荐(0) 编辑
摘要:多次调用函数f,传给它迭代数值,如要打印3次“hello”: Number.prototype.times = function (f, context) { let n = this.valueOf(); for (let i = 0; i < n; i++) f.call(context, i) 阅读全文
posted @ 2022-03-25 10:29 0a 阅读(39) 评论(0) 推荐(0) 编辑
摘要:报错代码: //定义请求拦截器 service.interceptors.request.use( (config) => { if (window.localStorage.Token && window.localStorage.Token.length >= 128) { config.hea 阅读全文
posted @ 2022-03-21 16:50 0a 阅读(1347) 评论(0) 推荐(0) 编辑
摘要:使用访问器属性的其他场景还有后写入属性时进行合理性检查,以及每次读取属性时返回不同的值: // 这个对象保证序号严格递增 const serialnum = { // 这个数据属性保存下一个序号 // 属性名中的_提示它仅在内部使用 _n: 0, // 返回当前值并递增 get next() { r 阅读全文
posted @ 2022-03-11 16:19 0a 阅读(55) 评论(0) 推荐(0) 编辑
摘要:这个对象用普通数据属性保存点的x和y坐标,用访问器属性给出与这个点等价的极坐标: let p = { // x和y是常规的可读写数据属性 x: 1.0, y: 1.0, // r是由获取方法和设置方法定义的可读写访问器属性 // 不要忘了访问器方法后面的逗号。 get r() { return Ma 阅读全文
posted @ 2022-03-11 15:42 0a 阅读(52) 评论(0) 推荐(0) 编辑
摘要:访问器属性可以通过对象字面量的一个扩展语法来定义(与我们前面看到的其他ES6扩展不同,获取方法和设置方法是在ES5中引入的): let o = { // 一个普通的数据属性 dataProp: value, // 通过一堆函数定义的一个访问器属性 get accessorProp() { retur 阅读全文
posted @ 2022-03-11 15:04 0a 阅读(147) 评论(0) 推荐(0) 编辑
摘要:到目前为止,本章讨论的所有对象属性都是数据属性,即有一个名字和普通的值。除了数据属性之外,JavaScript还支持为对象定义访问器属性(accessor property),这种属性不是一个值,而是一个或两个访问器方法:一个获取方法(getter)和一个设置方法(setter)。 当程序查询一个访 阅读全文
posted @ 2022-03-11 14:18 0a 阅读(235) 评论(0) 推荐(0) 编辑
摘要:ES2018新增了一种新迭代器,称为异步迭代器,同时新增了一种for/for循环,即使用异步迭代器的for/await循环。 // 从异步可迭代流中读取数据块并将其打印出来 async function printStream(stream) { for await (let chunk of st 阅读全文
posted @ 2022-03-07 10:58 0a 阅读(121) 评论(0) 推荐(0) 编辑
摘要:ES6内置的Set(集合)和Map(映射)类是可迭代的。在使用for/of迭代时,循环体对集合中的每个元素都会运行一次。可以使用类似下面的代码打印出一个文本字符串中的唯一单词: let text = "Na na na na na na na na Batman!"; let wordSet = n 阅读全文
posted @ 2022-03-07 09:53 0a 阅读(72) 评论(0) 推荐(0) 编辑
摘要:字符串在ES6中是可以逐个字符迭代的: let frequency = {}; for(let letter of "mississippi") { if (frequency[letter]) { frequency[letter]++; } else { frequency[letter] = 阅读全文
posted @ 2022-03-05 17:38 0a 阅读(36) 评论(0) 推荐(0) 编辑
摘要:对象(默认)是不可迭代的。运行时尝试对常规对象使用for/of会抛出TypeError: let o = { x: 1, y: 2,z: 3}; for(let element of o) { console.log(element); } 如果想迭代对象的属性,可以使用for/in循环,或者基于O 阅读全文
posted @ 2022-03-05 15:34 0a 阅读(77) 评论(0) 推荐(0) 编辑
摘要:if语句有两种形式,第一种是: if (expression) statement if (nsername == null) // 如果username是null或undefined username = "John Doe"; // 定义这个变量 // 如果username是null、undef 阅读全文
posted @ 2022-03-04 17:02 0a 阅读(171) 评论(0) 推荐(0) 编辑
摘要:语句块将多个语句组合为一个复合语句。语句块其实就是一系列语句,可以放在任意期待一个语句的地方: 查看代码 { x = Math.PI; cx = Math.cos(x); console.log("cos(n) = " + cx); } JavaScript解释器在执行空语句时什么也不会做: 查看代 阅读全文
posted @ 2022-03-04 14:13 0a 阅读(65) 评论(0) 推荐(0) 编辑
摘要:有副效应的表达式,赋值语句。例如: 查看代码 greeting = "Hello " + name; i *= 3; 递增操作符++和递减操作符--就好像执行了赋值语句一样: 查看代码 counter++; delete操作符有删除对象属性的重要副效应。因此,一般都把它作为一个语句使用,而不是放在某 阅读全文
posted @ 2022-03-04 11:54 0a 阅读(47) 评论(0) 推荐(0) 编辑

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示
人间忽晚,山河已秋。
剑桥
17°
00:13发布
剑桥
00:13发布
17°
西南风
5级
空气质量
相对湿度
80%
今天
小雨
10°/21°
周二
大雨
8°/15°
周三
小雨
6°/14°