155个JavaScript基础问题(41-45)

吐槽君 分类:javascript

这是我参与更文挑战的第2天,活动详情查看:更文挑战

41. 输出是什么?

!!null
!!''
!!1
 

55个JavaScript基础问题(41-45)"

答:B,本题属于考查让我们判断哪些属于真值,哪些属于假值。三个语句全都采用了两次非,所以我们直接可以看除去!的元素即可,null,''均属于假值,1则属于真值,所以本题选B。

42. setInterval方法的返回值是什么?

setInterval(() => console.log('Hi'), 1000)
 

55个JavaScript基础问题(41-45)"

答:A,本题考查我们对循环定时器的熟系程度,循环定时器之所以要返回一个id,是因为在很多时候,我们卸载组件后,同时需要将循环定时器关闭,如何关闭呢?所以开发人员为我们提供了一个循环定时器id,这个id就是循环定时器的返回结果。

43. 输出是什么?

[...'Lydia']
 

55个JavaScript基础问题(41-45)"

答:A,本题考查拓展运算符,首先字符串类型的值是属于可迭代的,所以拓展运算符会把字符串中的每个元素映射成一个字符,然后放到数组中,如下图所示。55个JavaScript基础问题(41-45)"

44. 输出是什么?

function* generator(i) {
  yield i;
  yield i * 2;
}

const gen = generator(10);

console.log(gen.next().value);
console.log(gen.next().value);
 

55个JavaScript基础问题(41-45)"

答:C,本题考查的是生成器函数,生成器函数是一种可以暂停的函数,通过next调用生成器函数,但是遇到yield则暂停,并返回生成的结果,然后下一个next,继续从暂停的位置继续运行。

45. 返回值是什么?

const firstPromise = new Promise((res, rej) => {
  setTimeout(res, 500, "one");
});

const secondPromise = new Promise((res, rej) => {
  setTimeout(res, 100, "two");
});

Promise.race([firstPromise, secondPromise]).then(res => console.log(res));
 

image.png

答:B,本题主要是考查Promise.race方法,针对这个方法,我们只需要记住一点,谁先执行完就是谁,所以本题选B,因为第二个Promise,100ms就执行完了。

题目来源

github.com/lydiahallie…

回复

我来回复
  • 暂无回复内容