猿辅导前端一面面经

8/29
1.ES6的知识了解哪些;
2.const,let和var的区别,追问const声明对象,对象的属性还可修改吗?就是obj的name可以修改吗
const obj = {name: 'abc'}
obj.name = 123
3简介一下promise给代码写输出,解释:
Promise.reject(1)
  .then(() => console.log(1))
  .catch(() => console.log(2))
  .then(() => console.log(3))
  .finally(() => console.log(4))

//结果 2,3,4
然后问了一首promise的API有哪些。
***循环,给代码写输出,解释:
const promise = new Promise((resolve, reject) => {
  console.log(1);
  resolve();
  console.log(2);
})
setTimeout(() => console.log(3))
promise.then(() => {
  console.log(4);
})
console.log(5);
//结果:1 2 5 4 3
5问箭头函数和普通函数的区别,给代码写输出,解释原理,问this指向:
var obj = {
  test: '123',
  f1: () => {
    console.log(this.test)
  },
  f2: function () {
    console.log(this.test)
  },
}

obj.f1() // undefined
obj.f2() // 123

new obj.f1() // 报错
new obj.f2() 
6js的作用域链和原型链
7写一个简单的原型链继承
8最后就是代码题
实现一个函数给一个url添加参数,如果参数已经存在则替换,否则就是添加
function addParamToUrl(key, value, url)

#猿辅导##校招##前端工程师##面经#
全部评论

相关推荐

头像
不愿透露姓名的神秘牛友
03-13 14:57
点赞 评论 收藏
转发
4 18 评论
分享
牛客网
牛客企业服务