- 博客(2)
- 收藏
- 关注
原创 浅谈对ES6中let和const关键字在for循环中的理解
ES6中对声明变量增加了两个关键字let和const,相比于之前的var,后者具有块级作用域而且不具有可重复声明和变量提升的特性,在如下for循环的例子中是否变量提升将会导致截然不同的运行结果 由于var声明的变量存在变量提升,每一次循环,变量i的值都会发生改变,而循环内被赋给数组arr的函数内部的return i里面的i指向的就是全局的i。for循环中var声明的变量i会被提到for循环外上面但不会赋值,在for循环内才开始给"i"赋值,当在循环外调用这10个函数中的任意一个,都会返回10,因为当函
2022-04-05 18:58:03
487
原创 JavaScript中的浅拷贝和深拷贝
浅拷贝:比如拷贝A对象,浅拷贝就是从内存中开辟出新的一块内存创建一个空对象,该空对象的引用是从A对象那里拷贝过来的,都指向A对象,若有若干个浅拷贝则多个空对象指向A对象,任何一个对象修改值所有对象中的数据 都会被修改,因为大家共用数据。 深拷贝:深拷贝不会拷贝引用类型的引用,而是将引用类型的值全部拷贝一份,形成一个新的引用类型,修改拷贝被拷贝对象中的值互不影响干扰。 JS中实现深拷贝有三种方法:利用json、利用Object.assin()、利用递归 1.利用json var obj = { .
2022-04-05 17:57:32
1172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人