深拷贝和浅拷贝
深拷贝和浅拷贝是经常在面试中会出现的,主要考察你对基本类型和引用类型的理解深度。 一、先了解内存 1. 内存简单划分为堆区域和栈区域 2. 复杂数据类型数据存储在堆区域,基本数据类型变量和引用变量存储在栈区域 二、拷贝- 复制obj对象得到一个全新的对象, 1. 浅拷贝 - 复制的obj对象只复制一…
深拷贝和浅拷贝是经常在面试中会出现的,主要考察你对基本类型和引用类型的理解深度。 一、先了解内存 1. 内存简单划分为堆区域和栈区域 2. 复杂数据类型数据存储在堆区域,基本数据类型变量和引用变量存储在栈区域 二、拷贝- 复制obj对象得到一个全新的对象, 1. 浅拷贝 - 复制的obj对象只复制一…
数组reduce() 语法:[java]reduce(callFun,[initValue]) callFun: (previousValue,currentValue,currentIndex,arr)=>{} initValue: previousValue初始值(可选参数)[/java]…
标签:数组一、什么是反射机制 反射机制是在编译阶段不知道是哪个类被加载,而是在运行的时候才加载、执行。 也就是说,反射机制指的是程序在运行时能够获取自身的信息。js 中的 apply 就是反射机制。 二、Reflect 1、Reflect 定义 Reflect 是一个内建的对象,用来提供方法去拦截 JavaS…
二维数组目录 二维数组定义: 数组元素是一维数组的数组 var arr = [[1,2,4,6],[2,4,7,8],[8,9,10,11],[9,12,13,15]] //arr数组长度为4,每个元素是一个长度为4的数组 var a = [ [1,2,4,6], a[0][0] a[0][1] a…
标签:二维数组在学习JavaScript的变量作用域之前,我们应当明确几点: JavaScript的变量作用域是基于其特有的作用域链的。 JavaScript没有块级作用域。 函数中声明的变量在整个函数中都有定义。 1、JavaScript的作用域链 首先看下下面这段代码: <script t…
一、背景 工作中做了很多生成海报的功能,不同需求,不同场景,使用了几种方案,各有优劣。一直想要整理一下,但这个过程中的思考和遇到的问题没有记录下来,比如图片的跨域问题,文字的问题,做完没有记录,无迹可寻,以至于很难开始。最近重新回顾了一下,整理了一篇文档,或有疏漏和不准确之处,欢迎交流。 二、业务应…
标签:canvasiScroll是什么 很多场景,如果使用body的滚动会很不方便,这时候,就会使用某个元素的局部滚动,恶心的事情就会发生了。 pc端web,windows系统的浏览器会出现丑陋的滚动条。(其实也有最新的css样式可以解决,兼容性欠佳) 手机移动端,ios浏览器无法惯性和弹性滑动(默认使用浏览器滚动,…
标签:下拉刷新,滚动1、File 对象 File 对象代表一个文件,用来读写文件信息。它继承了 Blob 对象,或者说是一种特殊的 Blob 对象,所有可以使用 Blob 对象的场合都可以使用它。 最常见的使用场合是表单的文件上传控件(<input type="file">),用户选中文件以后,浏览器就会生…
在本文中,我收集了关于Javascript 最常被问到的 10 个问题及其答案。 这10 个问题大多涉及 Javascript 的基础知识,所以如果你刚刚开始学习 JS,最好理解并掌握它们并。 这个 10 问题涉及 JS 中闭包、promise,变量提升、类等等。尽管这些知识不是很难,但是知道答案是…
标签:js英文 | https://medium.com/better-programming/top-javascript-libraries-you-should-know-about-3b6e22555089 只从JavaScript得到了发展后。毫无疑问,JS成了最受欢迎的语言之一,它可能会继续保持这…
标签:js库