2019前端面试不可错过的好知识,你值得拥有

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34672907/article/details/88426556

面试中会遇到各种问题(在这感谢我的小伙伴源源不断给我提供面试题),我在这只给问题和答案相关的链接(别人有写好的现成的解释得很好的,我就不一一自己再去写了),你们可以点相应的链接进去查看答案,另外,有些问题我自己拓展了一下,所以会有两个链接或者是三个,请不要觉得奇怪。下面开始进入正题:

1.typeof 和instance of有什么区别?

         instanceof运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性。语法object instanceof constructor 描述instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上。

https://baijiahao.baidu.com/s?id=1571326373449053&wfr=spider&for=pc

2.JavaScript的基本数据类型有哪些?你知道哪些引用数据类型?

UndefinedNullBooleanNumberStringSymbol

Object 类型Array 类型Date 类型RegExp 类型Function 类型

https://blog.csdn.net/weixin_41646716/article/details/81700761

3.事件的机制你了解吗?

事件捕获阶段,处于目标阶段,事件冒泡阶段。

https://www.cnblogs.com/renlong0602/p/4401113.html

4.事件的机制的原理是什么?

https://www.cnblogs.com/yexiaochai/p/3477715.html

5.原型你用过吗?用它来做什么?

https://blog.csdn.net/ProswpuAlan/article/details/79337983

6.深复制和浅复制有什么区别?

浅拷贝和深拷贝一般是对于引用类型值(如对象)来讲的,而基本类型值(如undefined、null、number、string、boolean以及es6新增的Symbol),只要是复制,就一定是另开辟以存储空间!基本类型是存储在栈中,引用类型存在堆中

https://www.cnblogs.com/Chen-XiaoJun/p/6217373.html

https://blog.csdn.net/qq_40421277/article/details/79999044

7.针对数组和对象,你如何来实现深复制和浅复制?

对象只有简单的一层的话使用es6的Object.assign()

不然的话只能是使用递归函数进行深度复制。跟第6的链接一样,看即可

8.造成深复制和浅复制存在这些区别的原因是什么?

内存存储的地方不一样,一个在栈中一个在堆中。

浅拷贝:也就是在对象复制时,只是对对象中的数据成员进行简单的赋值,如果对象中存在动态成员,即指针,浅拷贝就会出现问题。
深拷贝:对于深拷贝,针对成员变量存在指针的情况,不仅仅是简单的指针赋值,而是重新
分配内存空间。

9.==和===你知道吗?它们有什么不同?

== : 只进行值的比较    === : 不仅进行值得比较,还要进行数据类型的比较

10.构造函数和原型他们之间有什么联系?

https://www.jianshu.com/p/d138abd98633

11.闭包用过吗?闭包有哪些运用场景?

https://www.cnblogs.com/star-studio/archive/2011/06/22/2086493.html

12.说说你对this的理解

  • this 永远指向函数运行时所在的对象,而不是函数创建时所在的对象。
  • 匿名函数和不处于任何对象中的函数,this指向window.
  • call,apply,with 指的this 是谁就是谁。
  • 普通函数调用,函数被谁调用,this就指向谁。

https://blog.csdn.net/lxcao/article/details/52750575

13.如何判断当前this指向的是什么?

https://blog.csdn.net/suxianbaozi/article/details/50512542

14.bind()、apply()、call(),这些函数平时都有用过吗?说说它们有什么用?你是如何运用的?

https://blog.csdn.net/chenleixing/article/details/44259161

15.定义一个全局函数,函数里面的this指向什么?打印this会输出什么?

https://blog.csdn.net/qq_39207948/article/details/81056887

16.箭头函数用过吗?箭头函数和普通函数有什么区别?

  1. 箭头函数的this永远指向其上下文的 this,任何方法都改变不了其指向,如call(), bind(), apply()
  2. 普通函数的this指向调用它的那个对象
  3. 箭头函数作为匿名函数,是不能作为构造函数的,不能使用new
  4. 箭头函数不绑定arguments
  5. 箭头函数会捕获其所在上下文的 this 值,作为自己的 this 值

https://www.jianshu.com/p/73cbeb6782a0

17.你在项目的开发过程中都对项目进行过哪些优化?

https://www.cnblogs.com/liulilin/p/7245125.html

18.argument你知道吗?箭头函数里面有argument对象吗?

https://segmentfault.com/q/1010000008720963?_ea=1724154

19.argument和普通的数组有什么区别?

arguments 是一个类数组对象。代表传给一个function的参数列表

https://blog.csdn.net/xiaotao_css/article/details/72794650

20.vue双向数据绑定是怎么实现的?

https://www.cnblogs.com/kidney/p/6052935.html?utm_source=gold_browser_extension

21.vue的底层用object.definedPropety()来实现它有什么弊端或局限性?

不能同时设置访问器 (get 和 set) 和 wriable 或 value,否则会错。

https://blog.csdn.net/qq_30574731/article/details/82693909

22.Vue的新版准备要出来了你知道吗?

https://blog.csdn.net/itKingOne/article/details/84175760

23.Vue3.0 相较于现在的版本上有哪些改动?这些改动它有什么优点?

https://blog.csdn.net/itKingOne/article/details/84175760

proxy的拓展:

https://www.jianshu.com/p/81eb68ae5eb1

24.promise用来做什么?它有哪些局限性?

https://www.jianshu.com/p/2bfb741b1f01

https://www.cnblogs.com/Kellana/p/7602210.html

25. var和let有什么区别,有了解过变量提升吗?

Var在栈内,而let和const在堆中(补充除下面链接外的一点)

https://www.cnblogs.com/fly_dragon/p/8669057.html

https://www.cnblogs.com/heioray/p/9487093.html

26.闭包和作用域你了解多少?

闭包有两个作用:
第一个就是可以读取自身函数外部的变量(沿着作用域链寻找)
第二个就是让这些外部变量始终保存在内存中

https://blog.csdn.net/whd526/article/details/70990994

27.es6用过吗?用过哪些新特性?

https://www.jianshu.com/p/ebfeb687eb70

https://segmentfault.com/a/1190000004365693

https://segmentfault.com/a/1190000004368132

28.说说你对promise的理解

https://www.jianshu.com/p/063f7e490e9a

https://www.jianshu.com/p/fe5f173276bd

29.es6中有个排序你知道吗?

https://blog.csdn.net/huoji555/article/details/78759718

30.sort()方法用过吗?

http://www.w3school.com.cn/js/jsref_sort.asp

31.你如何实现数组去重?

当前方案使用了ES6新增的set数据解构的去重特性,然后在将生成的set对象转换成数组。

var arr = [1, 4, 7, 4, 3, 2, 1, 4, 7];

var newArr = Array.from(new Set(arr));

console.log(newArr);

https://blog.csdn.net/huoji555/article/details/78759718

32.es6的array.from有什么作用?

https://www.cnblogs.com/jf-67/p/8440758.html

33.vue-router的钩子函数

https://blog.csdn.net/qxb5215/article/details/80346820

34.Cookie与Session有什么差别

Session直接翻译成中文比較困难。一般都译成时域。在计算机专业术语中。Session是指一个终端用户与交互系统进行通信的时间间隔。通常指从注冊进入系统到注销退出系统之间所经过的时间。以及假设须要的话,可能还有一定的操作空间。

须要注意的是,一个Session的概念须要包含特定的client,特定的server端以及不中断的操作时间。

  1. cookie数据存放在客户的浏览器上,session数据放在server上
    2、cookie不是非常安全,别人能够分析存放在本地的COOKIE并进行盗取信息
    3、session会在一定时间内保存在server上。当訪问增多,会比較占用你server的性能
    4、单个cookie在client的限制是3K,就是说一个站点在client存放的COOKIE不能大于3K。
  2. 假设说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查server上的“客户明细表”来确认客户身份。Session相当于程序在server上建立的一份客户档案,客户来訪的时候仅仅须要查询客户档案表就能够了。

https://www.cnblogs.com/wzzkaifa/p/7364595.html

35.URL重定向?

https://blog.csdn.net/fly_hps/article/details/85134168

url重定向漏洞大多数情况下都是开发限制不严造成的,让恶意用户有了可乘之机。所以开发在开发的过程中,要严格对用户的输入进行判断过滤,如果可以的话,可以在后台生成,限制用户输入,否则就会造成用户劫持、XSS、钓鱼等其它严重后果。当然还有很多意想不到的漏洞姿势,等待我们去探索。

36.http和https的区别?

https协议需要到ca申请证书,一般免费证书很少,需要交费。

http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。

http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。

http的连接很简单,是无状态的。 HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

https://www.cnblogs.com/qiangxia/p/5261813.html

37.前端面试题干货(推荐)

https://segmentfault.com/a/1190000015162142

38.dom操作成本高在哪?

https://segmentfault.com/a/1190000014070240

39.事件循环机制是怎么样的?

https://zhuanlan.zhihu.com/p/26229293

https://zhuanlan.zhihu.com/p/26238030

40.事件循环机制衍生出来的一道面试题(推荐看!)

https://juejin.im/post/58cf180b0ce4630057d6727c

41.浅谈常用的几种web攻击方式以及解决办法(这个建议买白帽子讲web安全,保证能学到东西!)

https://blog.csdn.net/zou2ouzou/article/details/60888073

42.简单请求和复杂请求

http://www.ruanyifeng.com/blog/2016/04/cors.html

43.axios请求接口发起两次请求(OPTIONS 与POST/GET)

https://blog.csdn.net/qq_27626333/article/details/77005911

44.解决两次请求的问题

https://www.jb51.net/article/149537.htm

45.vue父子组件&继承组件的生命周期

https://www.jianshu.com/p/dae2bf62d725

46.Web前端性能优化的9大问题

https://www.cnblogs.com/liulilin/p/7245125.html

暂时这么多,持续更新!要是你也有好的知识点分享也可以找我,我一起添加进来哦!我的目标是一起进步!

猜你喜欢

转载自blog.csdn.net/qq_34672907/article/details/88426556