随笔分类 -  【JavaScript前菜】

前菜相当于俗称的开胃菜,在主菜之前上,起到开胃和打发时间的作用。
摘要:Array.prototype.flat() flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。 参数: depth 可选 指定要提取嵌套数组的结构深度,默认值为 1。 返回值: 一个包含将数组与子数组中所有元素的新数组。 ——摘自MDN 阅读全文
posted @ 2022-03-30 22:44 不乏理想的三师弟 阅读(61) 评论(0) 推荐(0)
摘要:首先要清楚,跨域请求会受到限制(因为同源策略的实施) 在如今,解决跨域问题一般通过跨域资源共享(CORS,Cross-Origin Resource Sharing)机制来解决。 就以前后端分离项目来说,大体是这样的:服务器端设置“白名单”——允许那些域来使用接口,而在请求端则无须做什么。 在COR 阅读全文
posted @ 2022-03-23 22:02 不乏理想的三师弟 阅读(74) 评论(0) 推荐(0)
摘要:如何使用JSON进行对象的深拷贝 前置知识: 1)JSON中没有undefined值;在序列化时,会跳过值为undefined的属性。 2)JSON中没有函数的概念;在序列化时,会跳过值为函数的属性。 我们需要针对值为undefined或函数的属性进行处理,如何处理? 大体上在序列化、反序列化(解析 阅读全文
posted @ 2022-03-23 13:06 不乏理想的三师弟 阅读(80) 评论(0) 推荐(0)
摘要:/** * 要点一: * 当Promise进入落地状态时,与该状态相关的处理程序仅仅会被排期,而非立即执行。 * 而且,跟在添加这个处理程序的代码之后的同步代码一定会在处理程序之前执行。 * ——摘自《JavaScript高级程序设计(第四版)》第11章“期约与异步函数” “非重入期方法”小节 * 阅读全文
posted @ 2022-03-22 23:20 不乏理想的三师弟 阅读(202) 评论(0) 推荐(0)
摘要:问题:b = a 做了什么? 今天看《你不知道的JavaScript(上卷)》的时候看到一段让我很疑惑的代码: 1 function foo() { 2 console.log(this.a); 3 } 4 var a = 2; 5 var o = { a: 3, foo: foo }; 6 var 阅读全文
posted @ 2022-01-18 23:45 不乏理想的三师弟 阅读(73) 评论(0) 推荐(0)
摘要:箭头函数在使用时有几个需要注意的地方: 没有 this、super、arguments 和 new.target 绑定。箭头函数中的this、super、arguments 和 new.target 这些由外围最近一层非箭头函数决定。 不能通过 new 关键字调用。箭头函数不能被用作构造函数,也就是 阅读全文
posted @ 2021-12-27 22:36 不乏理想的三师弟 阅读(135) 评论(0) 推荐(0)
摘要:一、数组解构 1 /** 2 * 数组解构就是将数组展开后按顺序赋给变量 3 * 其运作像极了调用方法传递参数时对数组的展开。 4 */ 5 let arr = [1,2,3]; 6 // 下面这条语句是展开运算符和数组解构的结合使用 7 let [a, ...others] = arr; 8 co 阅读全文
posted @ 2021-12-27 19:05 不乏理想的三师弟 阅读(131) 评论(0) 推荐(0)
摘要:数组的浅拷贝 谈及拷贝好像绕不开深浅问题,我认为所谓深拷贝一定是深到底的、是绝对的;而浅拷贝是有不同的浅度的。作为前菜,实在不该讨论这个问题。 一、使用"="复制 这点本不是我要的前菜,鉴于是浅拷贝的范畴就记录在这。 1 let obj = {name:'zhangsan'}; 2 let arr1 阅读全文
posted @ 2021-12-27 16:03 不乏理想的三师弟 阅读(83) 评论(0) 推荐(0)
摘要:将数组各项添加到另一个数组 我们可以使用push将元素追加到数组中。由于push接受可变数量的参数,所以也可以一次追加多个元素。 但是,如果push的参数是数组,它会将该数组作为单个元素添加,而不是将这个数组内的每个元素添加进去,因此我们最终会得到一个数组内的数组。如果不想这样呢?concat符合我 阅读全文
posted @ 2021-12-27 14:51 不乏理想的三师弟 阅读(2742) 评论(0) 推荐(0)