概述
1、考查作用域。
var length = 10;
function fn(){
console.log(this,'this')
console.log(this.length)
}
var obj = {
length:5,
methods: function(){
fn();
}
};
obj.methods();
结果分析:输出的结果为10;在obj调用methods方法后,而后调用fn,其中的this具体是值window对象,所以答案为10 ;js中的函数,跟声明的位置有关,跟在哪里调用无关。fn本来就是全局作用域,跟在哪里调用无关。
2、考查Promise对象。
const promise1 = new Promise((resolve, reject) => {
console.log(1, '第一个');
resolve();
console.log(2, '第二个');
})
setTimeout(() => {
console.log(3, '第三个');
}, 0)
promise1.then(() => {
console.log(4, '第四个')
})
console.log(5, '第五个');
结果分析:如果将resolve()不注释掉,输出结果为1、2、5、4、3;如果将resolve()注释掉,输出的结果是1、2、5、3;
最后
以上就是兴奋可乐为你收集整理的前端常见面试题(4)-代码输出结果的全部内容,希望文章能够帮你解决前端常见面试题(4)-代码输出结果所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复