Web 前端面试题 整理1

1. JS的基本数据类型:  String, number,null, Undefined, boolean,html

  引用数据类型:  date,array, function ,objectes6

  区别: 赋值给变量仍是地址编程

  null, undefined: 没有包装类型, 不能调用任何方法, boolean 内置方法segmentfault

2.  不改变原数组的API: concat, slice跨域

3. JS实现继承的6种方式:数组

  详情参考https://www.cnblogs.com/ayqy/p/4471638.htmlpromise

4. 反序列化 克隆浏览器

  JSON.parse(JSON.stringify(xm));服务器

5. 声明提早cookie

 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

 

待续....

相关文章
相关标签/搜索