关于js深拷贝和浅拷贝

关于js深拷贝和浅拷贝

1、对象拷贝、浅拷贝与深拷贝问题JS中对象之间的赋值采用的是引用拷贝的方法。在理解这个之前,需要先理解JS运行时的堆栈空间。对象数据存放在堆内存中,对象变量存放在栈内存中,对象变量通过引用数据的堆地址实现对象访问。与基本类型不同,对象之间的赋值,是拷贝了堆内存的地址空间,结果是两个变量指向了同一个对象实体,也称共享,任何一个对对象的修改都会影响另一个变量。let obj1 = { value: 1 }; let obj2 = obj1; obj2.value = 2; console.log(obj1.value); //2很多时候,这不是我们想要的效果。我们希望克隆出来的...

js知识 2020-10-15 AM 533℃ 0条
如何使用nsis制作安装程序

如何使用nsis制作安装程序

一、先下载nsis软件https://nsis.sourceforge.io/Download二、打开可视化脚本编辑器三、选择新建文本向导四、设置应用名称,版本号,网址,标志随便自定义一个就好,然后下一步五、设置安装程序图标(图标必须是ico格式),名称,语言(SimpChinese),界面,然后下一步接着下一步六、授权文件有就填,没有就填空白 然后下一步七、添加应用程序文件,默认两个文件选中,删除选择打包目录下的程序文件接着,选择应用程序目录文件八、可修改开始菜单名称,然后下一步九、可设置安装成功后启动的程序,默认就是我们打包后的启动程序,下一步十、设置一些卸载时界面的提示信息,然...

Electron 2020-09-10 AM 447℃ 0条
js如何将数据流图片进行压缩再上传

js如何将数据流图片进行压缩再上传

一、html<input type="file" onchange="compressImg(this)" accept="image/jpeg"/>二、获取上传文件操作1.获取上传文件的数据流//获取图片文件 function compressImg(file){ var base64,file=file.files[0]; var maxSize=1024*1024*8;//最大不超过8M var imgSize=file.size; if(maxSize<imgSize){...

前端,js知识 2020-09-05 PM 352℃ 0条
vue常见问题如何解决

vue常见问题如何解决

一、vue样式穿透1.stylus的样式穿透 使用:(>>>) 外层类 >>> 想要修改的类名 {   要修改的样式 } 例:.wrapper >>> .el-card__header { border-bottom: none }2.sass和less的样式穿透 使用:(/deep/)外层类 /deep/ 想要修改的类名 {   要修改的样式 } 例:.wrapper /deep/ .el-card__header { border-bottom: none }3.通用样式穿透 使用:(::v-deep)::v-deep...

vue使用,前端 2020-09-03 AM 332℃ 0条
js循环的几种方式以及数组和字符之间的转化

js循环的几种方式以及数组和字符之间的转化

常见的循环方式一、for循环for循环应该是最普遍的,使用最多的一种循环遍历方法了,所以也导致其可读性和易维护性比较差,但是它可以及时break出循环。let arr = [1,2,3,4,5,6,7] for(let i = 0;i<arr.length;i++){ console.log(arr[i]) } // 1,2,3,4,5,6,7二、for...infor...in循环主要针对于对象的遍历,当想要获取对象的对应键值时,使用for...in还是比较方便的*针对对象来说 ,任何对象都继承了Object对象,或者其它对象,继承的类的属性是默认不可遍历的,for... i...

js知识 2020-09-02 PM 276℃ 0条