Web 前端面试题 整理1

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

待续....

 

猜你喜欢

转载自www.cnblogs.com/jliu520222/p/9783330.html