vue面试题

xss攻击是什么?如何避免?

答:跨站脚本攻击就是xss攻击。有三种攻击方式:反射、注入、存储。 反射型:反射型XSS通常出现在网站的搜索栏,使用url地址挂载恶意的参数,一般主要是偷取cookie等。 注入:是在标签上使用属性添加的方式,恶意的破坏网站的数据。 存储:在接口请求中加入恶意代码,攻击或存储到数据库里。攻击,比如植入一段删除sql的语句;储存,把一段js脚本语法<script>alert(1)</script>,早期很多网站有留言板,论坛,只要把内容中写入脚本,那么下一个来访问的人,他的信息就可能会被偷走。

标签攻击,尽量不要使用innerHTML这个语法。 url:需要在接口处做参数的判断和url校验 存储:转移,把他变成字符串,使用正则把内容种<>变成xx%字符

14.什么是函数重载?

同一个函数,接收不同的参数,执行不同的业务,就叫函数重载。

15.什么是函数尾调用?

一个函数被调用,他要在内存中开一个空间去执行函数里的内容,执行完后,释放空间,释放函数。 函数尾调用就是指当一个函数被执行完后,立即在该函数的最后面调用另一个函数,从而起到复用内存的作用 fn () { xxxx; b()}

16.数组降维?

  • 递归+判断如果该项中还有数组就继续调用递归,直到没有嵌套的数组为止

  • se6的flat(Infinity) // Infinity正无穷大的数

7.数组去重?

  • 双层for循环

  • 使用se6的set数据类型 new Set(数组);

18.Socket是什么?

保持双向通信的持久连接,通过它前端可以向后端发送数据,后端也可以主动的向前端发送数据。 它的协议一般不是http但是可以配置成http,一般是ws,或者wss协议开头。

19.本地存储的区别

localStorage:永久存储,除非手动删除,而且容量一般是5M essionStorage:爱深丝到瑞特-会话存储,只在当前页面打开的期间生效,页面关闭就没了,容量和localStorage一样 cooki哭k:可以被后端直接写入,每次会跟随http请求到服务端。容量只有4kb,可以设置过期时间,如果不设置过期时间,页面关闭时候它也会被清除。

20.对象,原型,原型链,构造函数的关系?

  1. 构造函数其实就是普通函数被调用的时候用new了

  2. 对象,对象是通过构造函数new出来的

  3. 对象有一个proto 指向构造函数的prototype对象

  4. 对象只有proto叫对象的原型,也叫隐式原型

  5. 函数只有prototype对象,叫显式原型

  6. 对象有一个constructor指向构造函数

  7. 原型链:当我们从对象上找属性的时候,如果对象自身没有该属性,会沿着对的proto一直找,找不到就报错了

21. Js作用域

一个变量所在的空间

  • 全局作用域 指script标签种任意都可以访问到的变量,而这个变量所在空间叫做全局作用域,比如window和document对象就是属于全局作用域种的顶级对象。

  • 局部作用域 函数天生自带局部作用域,函数外部访问不到函数里的变量值

  • 块级作用域 由let和const-抗丝特-带来的,只要是换括号,不管是if还是for等,且换括号内有let或const声明方法,这个空间就成了块级作用域和局部作用域是一样的

22. Function与箭头函数区别

普通函数有prototype对象,所以普通函数可以被new之后作为构造函数,而箭头函数没有,所以它不能被new也就不能做构造函数了。

箭头函数没有argument只能用扩展运算符来做一个形参集合。

this指向不同,function-方可深-指向调用它的对象,而箭头函数则会一直向上层作用域找对象。

function可以修改this指向,因为他有原型对象,所以可以使用call,apply和bind,而箭头函数不可以修改this。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟小白Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值