猿辅导前端一面面经
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)
拼多多集团-PDD公司福利 817人发布