1、对象拷贝、浅拷贝与深拷贝问题JS中对象之间的赋值采用的是引用拷贝的方法。在理解这个之前,需要先理解JS运行时的堆栈空间。对象数据存放在堆内存中,对象变量存放在栈内存中,对象变量通过引用数据的堆地址实现对象访问。与基本类型不同,对象之间的赋值,是拷贝了堆内存的地址空间,结果是两个变量指向了同一个对象实体,也称共享,任何一个对对象的修改都会影响另一个变量。let obj1 = { value: 1 }; let obj2 = obj1; obj2.value = 2; console.log(obj1.value); //2很多时候,这不是我们想要的效果。我们希望克隆出来的...
一、先下载nsis软件https://nsis.sourceforge.io/Download二、打开可视化脚本编辑器三、选择新建文本向导四、设置应用名称,版本号,网址,标志随便自定义一个就好,然后下一步五、设置安装程序图标(图标必须是ico格式),名称,语言(SimpChinese),界面,然后下一步接着下一步六、授权文件有就填,没有就填空白 然后下一步七、添加应用程序文件,默认两个文件选中,删除选择打包目录下的程序文件接着,选择应用程序目录文件八、可修改开始菜单名称,然后下一步九、可设置安装成功后启动的程序,默认就是我们打包后的启动程序,下一步十、设置一些卸载时界面的提示信息,然...
常见的循环方式一、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...