马哲是什么
2023最新大厂前端面试题1
1.使用过ES6语法的什么内容?
答:
模板语法(在模板字符串中,空格、缩进、换行都会被 老鹰抓小鸡作文
保留;模板字符串完全支持“运算”式的表达式,你可以在
${}里完成一些计算);
箭头函数;
let 和 const;
对象与数 组的解构;
promi相关语法
2.富文本应该怎么预防 XSS攻击?
答:最正确的做法其实是使用第三方插件,而插件的原理主要是把整个 DOM 转换成字符串转义掉其中的字符再变成 DOM(可以自己控制长度,性能问题不大)。
3.axios 怎么解决跨域问题?
两种方法,一种是 CORS 将问题转给后端,前端在调用 API 的时候记得加 CORS headers。
另一种是采用 nginx 做一个反向代理(推荐)下图是 node 环境而不是 nginx,不过 vue 提泰安面积
供了 fig.js 配置表,可以传给 node.js 来实现各项配置,既然是 node 那么执行的就是 commonJS 规范。
4.箭头函数与普通函数有什么区别?
箭头函数没有prototype(原型),所以箭头函数本身
没有 this;
箭头函数的 this 在定义的时候继承自外层第一个普通函
数的 this;
如果箭头函数外层没有普通函数,严格模式和非严格模式
下它的 this 都会指向 window(全局对象);
箭头函数本身的 this 指向不能改变,但可以修改它要继
承的对象的 this;
那么骄傲简谱箭头函数的 this 指向全局,使用 arguments 会报未声明
的错误;
箭头函数的 this 指向普通函数时,它的 arguments 继承于
该普通函数;
使用 new 调用箭头函数会报错 , 因为箭头函数没有constructor;
箭头函数不支持new.target;
七个一律箭头函数不支持重命名函数参数,普通函数的函数参数支持重命名;
走廊吊顶造型
箭头函数相对于普通函数语法更简洁优雅。
更加简洁的答法:
箭头函数写法更精简;
箭头函数没有 prototype 原型所以没有自己的 this,会捕获其所在的上下文的 this 值,并且不能通过 call()和apply()
来改变其 this;
箭头函数是匿名函数,不能作为构造函数,不能使用 new ;
环保先锋箭头函数不能使用 arguments;
很任性箭头函数没有原型。