javascript
侯先生的博客
这个作者很懒,什么都没留下…
展开
-
深拷贝
一、深拷贝 深拷贝和浅拷贝是只针对Object和Array这样的引用数据类型的。 手写深拷贝(递归): /** * 深拷贝 */ const obj1 = { age: 20, name: 'xxx', address: { city: 'beijing' }, arr: ['a', 'b', 'c'] } const obj2 = deepClone(obj1) obj2.address.city = 'shanghai' obj2.arr[原创 2020-12-27 19:53:57 · 114 阅读 · 0 评论 -
typeof
变量类型 一、值类型vs引用类型 值类型 数据会直接存储到自己的栈中(互不干涉) let a = 100 let b= a a = 200 console.log(b)//100 引用类型 let a = {age:20}//先向堆中申请一个内存地址存储{age:20} let b = a //复制的其实是a的内存地址 b.age = 21 console.log(a.age)//21 b.age修改了a的内存地址的数据,所以a.age=21 因为考虑到我们性能和存储的问题,所以值类型的占用空间比原创 2020-12-27 19:49:08 · 204 阅读 · 0 评论 -
let、const、var 的区别
Es6 1. let、const、var 的区别 1.是否存在变量提升? var声明的变量存在变量提升(将变量提升到当前作用域的顶部)。即变量可以在声明之前调用,值为undefined。 let和const不存在变量提升。即它们所声明的变量一定要在声明后使用,否则报ReferenceError错。 console.log(f) //undefined var f = 1 ; console.log(g) //ReferenceError: g is not defined let g = 2; co原创 2020-11-23 16:01:07 · 157 阅读 · 0 评论