1. JS的基本数据类型: String, number,null, Undefined, boolean,
引用数据类型: date,array, function ,object
区别: 赋值给变量还是地址
null, undefined: 没有包装类型, 不能调用任何方法, boolean 内置方法
2. 不改变原数组的API: concat, slice
3. JS实现继承的6种方式:
详情参考https://www.cnblogs.com/ayqy/p/4471638.html
4. 反序列化 克隆
JSON.parse(JSON.stringify(xm));
5. 声明提前
1 function Foo() { 2 getName = function () { alert (1); }; 3 return this; 4 } 5 Foo.getName = function () { alert (2);}; 6 Foo.prototype.getName = function () { alert (3);}; 7 var getName = function () { alert (4);}; 8 function getName() { alert (5);} 9 10 // 请写出以下输出结果: 11 Foo.getName(); 12 getName(); // 声明提前 13 Foo().getName(); 14 getName(); 15 new Foo.getName(); 16 new Foo().getName(); 17 new new Foo().getName(); 18 19 //2, 4,1,1,2,3,3
参考:https://juejin.im/post/5b0562306fb9a07aaf3596c1
6. 浏览器存储: localStorage,sessionStorage和cookie的区别
共同点: 都是保存在浏览器端, 仅同源可用的存储方式
1. 数据存储方面:
- cookie数据始终在同源的http请求中携带(即使不需要), 即 cookie在浏览器和服务器端来回传递, cookie数据还要path路径的概念,可以限制cookie只属于某个路径下.
- sessionStorage和localStorage不会自动把数据传递给服务器, 仅在本地保存
2. 数据存储大小:
- 存储大小限制: cookie数据不超过4K, 因为http每次请求都带着, 所以只适合存很小的数据,譬如会话标识
- sessionStorage和localStorage也有限制,但是达到5M或更大
3. 数据存储的期限
- cookie: 只在设置的cookie过期时间内有效, 即使窗口或浏览器关闭
- sessionStorage: 仅在当前关闭浏览器之前有效
- localStorage: 始终有效,本地存储,作为持久数据
4. 作用域
- cookie: 在所有同源窗口中共享, 浏览器不关闭,就存在
- sessionStorage: 不在不同的浏览器窗口中共享, 即使是同一个页面
- localStorage: 在所有同源窗口中共享
7.跨域
https://blog.csdn.net/qq_35271556/article/details/80340102
8. JS继承的8种实现
https://www.cnblogs.com/ayqy/p/4471638.html
9. CSRF攻击:http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html
闭包
原型,原型链
浏览器的回流与重绘(reflow&repaint)
8. Promise的使用及原理
Promise是ES6加入的新特性, 用于更合理地解决异步编程的问题. 用法:http://es6.ruanyifeng.com/#docs/promise
30分钟,让你彻底明白Promise原理 :https://segmentfault.com/a/1190000009478377
待续....