摘要: 声明常量 好吧~ 大叔不吐槽了,还是说正事儿吧。其实,在 ES5 里面也不是不能声明常量,就是有那么一捏捏的别扭。你知道 Object 有个叫做 defineProperty() 的方法吧?它是用来给某个对象定义属性的。在 ES5 里面就可以通过这个方法间接地来声明常量。 比方说,你现在想在全局作用 阅读全文
posted @ 2021-07-14 20:33 浅笑· 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 1.实验 我们来做个实验。哪个执行得更快:立即解决的 Promise 还是立即setTimeout(也就是0毫秒的setTimeout)? Promise.resolve(1).then(function resolve() { console.log('Resolved!'); }); setTi 阅读全文
posted @ 2021-07-14 20:28 浅笑· 阅读(89) 评论(0) 推荐(0) 编辑
摘要: slice 工作原理 在深入研究一些更高级的用法之前,让我们看一下 slice 方法的基础知识。如MDN文档, slice 是数组上的一个方法,它最多有两个参数: arr.slice([begin[, end]]) begin 从该索引处开始提取原数组中的元素,如果该参数为负数,则表示从原数组中的倒 阅读全文
posted @ 2021-07-14 20:26 浅笑· 阅读(2937) 评论(0) 推荐(0) 编辑
摘要: 先来一道常见的面试题: console.log('start') setTimeout(() => { console.log('setTimeout') }, 0) new Promise((resolve) => { console.log('promise') resolve() }) .th 阅读全文
posted @ 2021-07-14 20:17 浅笑· 阅读(2243) 评论(0) 推荐(0) 编辑
摘要: 本文比较并总结遍历数组的四种方式: for 循环: for (let index=0; index < someArray.length; index++) { const elem = someArray[index]; // ··· } for-in 循环: for (const key in 阅读全文
posted @ 2021-07-14 20:14 浅笑· 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 执行环境 执行环境:定义变量或函数有权访问的其他数据。 每个执行环境对应与之关联的变量对象。 变量对象:保存环境中定义的所有变量和函数。 全局执行环境:最外围的执行环境,在web浏览器中,全局执行环境为window对象。 全局变量对象:保存所有window对象下的属性和方法。 执行环境的销毁 某个执 阅读全文
posted @ 2021-07-14 20:13 浅笑· 阅读(58) 评论(0) 推荐(0) 编辑
摘要: JavaScript 中方法链 你一定曾经用过 jQuery 之类的库,可能看到过类似的东西。在进行级联时主要有两种方法:一种是一个接一个的执行方法,另一种是在同一行上。在纯 JavaScript 中这种做法也很普遍。你可以在数组、字符串和 promise 看到它。 在这些情况下所有的过程都是相同的 阅读全文
posted @ 2021-07-14 20:12 浅笑· 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 1. 数值分割符 _ ES2021 引入了数值分割符 _,在数值组之间提供分隔,使一个长数值读起来更容易。Chrome 已经提供了对数值分割符的支持,可以在浏览器里试起来。 let number = 100_0000_0000_0000 // 0太多了不用数值分割符眼睛看花了 console.log 阅读全文
posted @ 2021-07-14 20:11 浅笑· 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 复制数组 我们可以使用展开操作符复制数组,不过要注意的是这是一个浅拷贝。 const arr1 = [1,2,3]; const arr2 = [...arr1]; console.log(arr2); // [ 1, 2, 3 ] 这样我们就可以复制一个基本的数组,注意,它不适用于多级数组或带有日 阅读全文
posted @ 2021-07-14 20:08 浅笑· 阅读(1860) 评论(0) 推荐(0) 编辑
摘要: 删除数组指定的某个元素 首先可以给js的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) { for (var i = 0; i < this.length; i++) { if (this[i] 阅读全文
posted @ 2021-07-14 18:30 浅笑· 阅读(8835) 评论(0) 推荐(0) 编辑
摘要: 概述 jsON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,jsON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。 在JS 阅读全文
posted @ 2021-07-14 18:29 浅笑· 阅读(989) 评论(0) 推荐(0) 编辑