9.10进行的一面
记录几个答的不好的点:
1. cors中, 当希望允许多个origin跨域获取资源时Access-Control-Allow-Origin的值应该如何设置
(不要设置成'*', 需要携带cookie)
当时没答上来,应该可以设置一个白名单,每次收到请求时,对比origin是否在白名单里,如果在,就允许
2.一道关于作用域的题目
var bar = { myname: "bar", getName: function() { console.log(myname); console.log(this); } } function foo() { var myname = "foo"; return bar.getName; } var myname = "global"; var _printName = foo(); _printName(); bar.getName();
当时自己的回答是:
"global" window "bar" //这里错了!!! bar自己下来之后跑了一下,应该是:
"global" window "global" bar
在chrome的console中跑的结果:
回答了3点:
(1)箭头函数的this在定义时确定(父级作用域),而非运行时(普通函数在运行时确定)
(2)箭头函数不能当作构造函数通过new来新建实例(追问:为什么不能new? 当时回答应该和new的过程有关,但是具体没答上来,后来百度了一下,大概是因为箭头函数没有自己的prototype)
(3)没有argumnets对象
之后查了一下补充2点:
(4)没有prototype
(5)不能用yield命令,因此箭头函数不能用做Generator函数
问了挺多的,记不太清了,问了缓存、从浏览器输入url到页面的呈现经历了什么、跨域、xss攻击、event loop、promise……(基本上都是前端面试基础题目把)
然后编程题还挺简单的,忘了有几道了,最后一个是比较两棵树是否相等,我用了递归
以上都是自己查了一下资料再加上自己的理解~作为前端小白,会有很多理解不到位的地方。
如果有不对的地方,或者有更好的解答,还希望大家可以批评指正~靴靴!🤗
共勉共勉~ 同时为自己祈福
全部评论
(4) 回帖