blog
blog copied to clipboard
关于浅复制很容易,想必大家都清楚,比如`Object.assign()` 亦或者是利用ES6的扩展运算符(object spread) ,[之前也有总结过一部分](http://liul0703.github.io/2017/04/26/%E5%85%B3%E4%BA%8EJS%E7%9A%84%E6%B7%B1%E6%B5%85%E6%8B%B7%E8%B4%9D/),最近看了一些文章,所以这次我们主要来聊聊深复制 ### Recursion ```js function deepCopy(p,c){ var i; c = c||{}; for(i in p){ if(p.hasOwnProperty(i)){ if(typeof p[i]==="object"){ c[i] = Array.isArray(p[i])?[]:{}; deepCopy(p[i],c[i]); }else{ c[i] = p[i]; } }...
ES6笔记
## **let** 因为JavaScript中没有块级作用域这一概念 而使用let 则可以达到这一效果 let允许把变量作用域限制在块级域中 与var不同的是:var申明要么是全局的 要么是函数级的 而 无法是块级作用域 ### let vs var let作用域 是 块级 var 作用域是函数 ```js for(var i = 0;i 'content' } ``` 上面代码使用set方法 将对象o作为m的一个键 Map也接受一个数组作为参数...
## POST & GET 区别 + GET的url 可被手动输入 可被浏览器缓存 可存为书签 + GET是幂等 + POST是非幂等 不可被缓存 + POST并不比GET更加安全 何时使用: > Quick Checklist for Choosing HTTP GET or POST Use GET if:The...
当我们在写React时候 会用到ES6中的class语法 ,比较常见的情况如下: ```JSX class MyClass extends React.Component{ constructor(){ super() } } ``` 这里有两个问题: 1. 是否有必要在```constructor```中调用```super()```函数? 2. 调用```super()```和```super(props)``` 有何区别 ? **解答 Q1:** > Always call super() if you have a...
特点 Cookie LocalStorage sessionStorage 存放数据大小 4k左右 一般为5M 存放周期 一般由服务器生成,可人为设置失效时间。如果在浏览器端生成,默认是关闭浏览器后失效 除非被清除,否则永久保存 仅在当前会话下有效,关闭页面或浏览器后被清除 与服务器端通信 每次都携带在HTTP请求头中 仅在客户端中保存不参与服务器通信 概念 是服务器发送到用户浏览器并保存在浏览器上的一块数据,它会在浏览器下一次发起请求时被携带并发送到服务器上。比较经典的,可以它用来确定两次请求是否来自于同一个浏览器,从而能够确认和保持用户的登录状态。Cookie的使用使得基于无状态的HTTP协议上记录稳定的状态信息成为了可能 没有时间限制的数据存储 (持久化) 针对一个 session 的数据存储,当用户关闭浏览器窗口后(不包括重载),数据会被删除。 用途 1.会话状态管理(如用户登录状态、购物车) 2.个性化设置(如用户自定义设置) 3.浏览器行为跟踪(如跟踪分析用户行为) 用于本地存储数据❶ 可以将一部分数据在当前会话中保存下来,刷新页面数据依旧存在。但当页面关闭后,sessionStorage 中的数据就会被清空可以用来存储比较重要的数据 安全性高于cookie❶ 缺陷...