前端每日一题#18
关注公众号 前端人,回复“加群”
添加无广告优质学习群
昨日题目
下面代码的输出是什么?
const shape = {
radius: 10,
diameter() {
return this.radius * 2;
},
perimeter: () => 2 * Math.PI * this.radius
};
shape.diameter();
shape.perimeter();
A: 20
和 62.83185307179586
B: 20
和 NaN
C: 20
和 63
D: NaN
和 63
答案:B
-
请注意,diameter是普通函数,而perimeter是箭头函数。 -
对于箭头函数,this关键字指向是它所在上下文(定义时的位置)的环境,与普通函数不同! -
这意味着当我们调用perimeter时,它不是指向shape对象,而是指其定义时的环境(window)。 -
没有值radius属性,返回undefined。
今日题目
下面代码的输出是什么?
var p1 = Promise.resolve( 1 );
var p2 = Promise.resolve( p1 );
var p3 = new Promise(function(resolve, reject){
resolve(1);
});
var p4 = new Promise(function(resolve, reject){
resolve(p1);
});
console.log(p1 === p2);
console.log(p1 === p3);
console.log(p1 === p4);
console.log(p3 === p4);
p4.then(function(value){
console.log('p4=' + value);
});
p2.then(function(value){
console.log('p2=' + value);
})
p1.then(function(value){
console.log('p1=' + value);
})
A:true false false false p2=1 p1=1 p4=1
B:false true true true p4=1 p2=1 p1=1
C:false false false false p4=1 p2=1 p1=1
D:false false false false p1=1 p2=1 p4=1
玩法介绍
评论区给出你的答案,并且点个在看
,每天的每日一题答案由下一天给出,欢迎参与每日一题,一周连续答对5题者,周六任性的鬼哥抽取送前端书籍一本(根据中奖者喜欢自行选择一本)
题库小程序
最后
大家记得关注公众号后,置顶公众号
,才能第一时间接收前端每日一题
的文章推送
-
公众号里回复关键词 资料包
领取我整理的进阶资料包 -
公众号里回复关键词 加群
,加入前端进阶群 -
文章点个 在看
,支持一下把!
点击关注我们↓
评论