前端每日一题#18

前端人

共 2685字,需浏览 6分钟

 ·

2021-03-24 12:16


关注公众号 前端人,回复“加群

添加无广告优质学习群

日题目

下面代码的输出是什么?

const shape = { 
     radius10
     diameter() { 
        return this.radius * 2;
     }, 
     perimeter: () => 2 * Math.PI * this.radius

};
 shape.diameter();
 shape.perimeter();

A: 2062.83185307179586

B: 20NaN

C: 2063

D: NaN63

答案: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题者,周六任性的鬼哥抽取送前端书籍一本(根据中奖者喜欢自行选择一本

题库小程序

最后

大家记得关注公众号后,置顶公众号,才能第一时间接收前端每日一题的文章推送


  1. 公众号里回复关键词资料包领取我整理的进阶资料包
  2. 公众号里回复关键词加群,加入前端进阶群
  3. 文章点个在看,支持一下把!

点击关注我们↓


浏览 60
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报