深拷贝和浅拷贝
深拷贝和浅拷贝是经常在面试中会出现的,主要考察你对基本类型和引用类型的理解深度。 一、先了解内存 1. 内存简单划分为堆区域和栈区域 2. 复杂数据类型数据存储在堆区域,基本数据类型变量和引用变量存储在栈区域 二、拷贝- 复制obj对象得到一个全新的对象, 1. 浅拷贝 - 复制的obj对象只复制一…
标签:JavaScript深拷贝和浅拷贝是经常在面试中会出现的,主要考察你对基本类型和引用类型的理解深度。 一、先了解内存 1. 内存简单划分为堆区域和栈区域 2. 复杂数据类型数据存储在堆区域,基本数据类型变量和引用变量存储在栈区域 二、拷贝- 复制obj对象得到一个全新的对象, 1. 浅拷贝 - 复制的obj对象只复制一…
标签:JavaScript数组reduce() 语法:[java]reduce(callFun,[initValue]) callFun: (previousValue,currentValue,currentIndex,arr)=>{} initValue: previousValue初始值(可选参数)[/java]…
标签:JavaScript, JavaScript数组一、什么是反射机制 反射机制是在编译阶段不知道是哪个类被加载,而是在运行的时候才加载、执行。 也就是说,反射机制指的是程序在运行时能够获取自身的信息。js 中的 apply 就是反射机制。 二、Reflect 1、Reflect 定义 Reflect 是一个内建的对象,用来提供方法去拦截 JavaS…
标签:JavaScript, 反射二维数组目录 二维数组定义: 数组元素是一维数组的数组 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的变量作用域之前,我们应当明确几点: JavaScript的变量作用域是基于其特有的作用域链的。 JavaScript没有块级作用域。 函数中声明的变量在整个函数中都有定义。 1、JavaScript的作用域链 首先看下下面这段代码: <script t…
标签:JavaScript一、背景 工作中做了很多生成海报的功能,不同需求,不同场景,使用了几种方案,各有优劣。一直想要整理一下,但这个过程中的思考和遇到的问题没有记录下来,比如图片的跨域问题,文字的问题,做完没有记录,无迹可寻,以至于很难开始。最近重新回顾了一下,整理了一篇文档,或有疏漏和不准确之处,欢迎交流。 二、业务应…
标签:Canvas, JavaScriptiScroll是什么 很多场景,如果使用body的滚动会很不方便,这时候,就会使用某个元素的局部滚动,恶心的事情就会发生了。 pc端web,windows系统的浏览器会出现丑陋的滚动条。(其实也有最新的css样式可以解决,兼容性欠佳) 手机移动端,ios浏览器无法惯性和弹性滑动(默认使用浏览器滚动,…
标签:JavaScript, 滚动加载英文 | https://madza.hashnode.dev/24-modern-es6-code-snippets-to-solve-practical-js-problems 作者 | Madza 译者 | 王强 策划 | 李俊辰 这篇文章基于实际使用场景总结了 24 个 ES6 代码段,可用…
标签:JavaScript1、File 对象 File 对象代表一个文件,用来读写文件信息。它继承了 Blob 对象,或者说是一种特殊的 Blob 对象,所有可以使用 Blob 对象的场合都可以使用它。 最常见的使用场合是表单的文件上传控件(<input type="file">),用户选中文件以后,浏览器就会生…
标签:JavaScript移动端用vue还是react?下面本篇文章给大家介绍一下。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 近两年前端技术层出不穷,目前市面上已经有了很多供前端人员使用的开发框架。前端框架领域日趋成熟,实现了三足鼎立的局面,react和vue势头强劲,在国内发展迅速,形势一片大好。 …
标签:JavaScript