- 博客(5)
- 收藏
- 关注
原创 浏览器存储以及区别
1. cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。2. 存储大小限制不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。sessionStorage和localStorage虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。4. 作用域不同,sessionStorage不在不同的浏览器页面中共享,即使是同一个页面;
2024-05-27 15:23:57
260
原创 This的指向
共同点:第一个参数都为改变this的指针。若第一参数为null/undefined,this默认指向window。在全局作用域或者普通函数中,this指向全局对象window。在构造函数或者构造函数原型对象中,this指向构造函数的实例。call、apply、bind三者为改变this指向的方法。使用的时候需要手动调用下返回 的新函数(不会自动执行)第二个参数:数组(里面为实参)第一个参数:改变this指向。第一个参数:改变this指向。第一个参数:改变this指向。this的指向(4种)
2024-05-23 16:33:24
382
1
原创 判断对象为空对象的几种方法
方法1:将对象转换成字符串(toString(),String(),JSON.stringift()),再判断是否等于“{}”方法3:Object.getOwnPropertyNames方法获取对象的属性名,存到数组中,若长度为0,则为空对象。方法4:jQuery中的isEmptyObject()方法,(其原理是利用for in的方式来判断)方法2:Object.keys()方法,返回对象的属性名组成的一个数组,若长度为0,则为空对象。//若不为空,可遍历,返回false。
2024-05-23 14:50:23
1985
1
原创 深浅拷贝区别
深拷贝:JSON.parse (JSON.stringfy()) jQuery.extend() 递归。浅拷贝只有第一层的属性变动不相互影响,深层数据的变动还是会相互影响。// 1. 获取属性值 oldObj[i]// 2. 判断这个值是否是数组。// 3. 判断这个值是否是对象。// 判断我们的属性值属于那种数据类型。// i 是属性名 obj[i]是属性值。深拷贝是指每一层数据的改动都不会影响原对象和新对象。name: '紫陌',name: '紫陌',//第二种方式 es6。//第三种方式 es6。
2024-05-23 14:46:37
644
1
原创 闭包是什么?利弊以及如何解决
js 中内层函数可以访问外层函数的变量,外层函数无法操作内层函数变量的特性。我们将这个特性称作闭包。内存函数引用外层函数变量,内存函数占用内存。如果不释放内存,过多容易引起内存泄漏。a.隔离作用域,保护私有变量;有了闭包才有局部变量,要不然都是全局变量。c.变量长期驻扎在内存中,不会被内存机制回收,即延长变量的生命周期。无法自动销户,就及时手动回收,使用后将函数引用赋值null。b.可以使用回掉,操作其他函数内部。
2024-05-23 11:26:45
93
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人