155个JavaScript基础问题(76-85)

简介: 155个JavaScript基础问题(76-85)

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

76. 输出是什么?

const { name: myName } = { name: "Lydia" };
console.log(name);

image.png

答:D,题目中的解构方式相当于将字符串的值赋给了myName,而不是name,所以下文调用name,相当于调用一个没有声明的变量。

77. 下面的函数是纯函数吗?

function sum(a, b) {
  return a + b;
}

image.png

答:A,因为同样的输入是同样的输出,且不受输入值以外的其他信息影响。

78. 输出是什么?

const add = () => {
  const cache = {};
  return num => {
    if (num in cache) {
      return `From cache! ${cache[num]}`;
    } else {
      const result = num + 10;
      cache[num] = result;
      return `Calculated! ${result}`;
    }
  };
};
const addFunction = add();
console.log(addFunction(10));
console.log(addFunction(10));
console.log(addFunction(5 * 2));

image.png

答:C,本题主要考查的是闭包的理解,函数首先检查cache中是否有传入的参数,有则返回无则+10然后存进去,然后返回。

79. 输出什么?

const myLifeSummedUp = ["☕", "💻", "🍷", "🍫"]
for (let item in myLifeSummedUp) {
  console.log(item)
}
for (let item of myLifeSummedUp) {
  console.log(item)
}


image.png

答:A,本题意在考查我们对for-in和for-of的理解,我们只需要记住一点,for-in遍历的是键,但是for-of遍历的是值。

80. 输出是什么?

const list = [1 + 2, 1 * 2, 1 / 2]
console.log(list)

image.png

答:C,本题考查JS的默认机制。

81. 输出什么?

function sayHi(name) {
  return `Hi there, ${name}`
}
console.log(sayHi())

image.png

:B,本题由于模板字符串中没有接收到name,所以返回的是undefined,所以最终答案是B。

82. 输出是什么?

var status = "😎"
setTimeout(() => {
  const status = "😍"
  const data = {
    status: "🥑",
    getStatus() {
      return this.status
    }
  }
  console.log(data.getStatus())
  console.log(data.getStatus.call(this))
}, 0)

image.png

答:B,本题意在考查setTimeout函数在特定情况下的this指向问题,在上面这种情况下,this指向的是全局,全局下正好有个😎,所以本题选B。

83. 输出什么?

const person = {
  name: "Lydia",
  age: 21
}
let city = person.city
city = "Amsterdam"
console.log(person)

image.png

答:A,仔细想想本题并未对person对象添加任何属性,所以选A。

84. 输出什么?

function checkAge(age) {
  if (age < 18) {
    const message = "Sorry, you're too young."
  } else {
    const message = "Yay! You're old enough!"
  }
  return message
}
console.log(checkAge(21))

image.png

答:C,这题真的挺坑的,意在考查const、let引起的块级作用域,由于块级作用域的存在,我们无法在块级作用域之外访问到声明的变量,请记住这个题。

85. 下面的代码将打印出什么?

fetch('https://www.website.com/api/user/1')
  .then(res => res.json())
  .then(res => console.log(res))


image.png

答:C,这就是考查我们对Promise的理解程度了,必然是前一个then中回调方法返回的结果了。

题目来源

github.com/lydiahallie…

相关文章
|
JavaScript
JS基础之解构赋值
解构赋值 在js中,我们经常会将对象或者数组里面的一部分数据作为参数传递给函数,如果我们使用传统的.方法会很麻烦。
|
移动开发 JavaScript 前端开发
JavaScript基础知识梳理-上
对JavaScript基础知识梳理-上
237 31
JavaScript基础知识梳理-上
|
存储 JavaScript 前端开发
JavaScript基础(一篇入门)
JavaScript基础(一篇入门)
225 0
JavaScript基础(一篇入门)
|
JavaScript 前端开发
2021琴理工作室JS基础教学(三)
当网页被加载的时候,浏览器就会创建文档对象模型,也就是dom 而dom可以看做一颗树
84 3
2021琴理工作室JS基础教学(三)
|
JavaScript 前端开发
JavaScript 入门基础 - 运算符(三)
文章目录 JavaScript 入门基础 - 运算符(三) 1.什么是运算符 2.表达式和返回值 3.算术运算符概述 4. 赋值运算符 5.递增和递减运算符 5.1 递增和递减运算符概述 5.2 递增运算符 5.2.1 前置递增运算符 5.2.2 后置递增运算符 5.2.3 后置和前置运算符的区别 6. 比较运算符 7. 逻辑运算符 7.1 逻辑运算符概述 7.2 逻辑与 7.3 逻辑或 7.4
159 0
JavaScript 入门基础 - 运算符(三)
|
存储 JSON JavaScript
JavaScript 入门基础 - 变量 / 数据类型(二)
JavaScript 入门基础 - 变量 / 数据类型(二)
110 0
JavaScript 入门基础 - 变量 / 数据类型(二)
|
JavaScript 前端开发 物联网
JavaScript 入门基础 / 概念介绍(一)
JavaScript 入门基础 / 概念介绍(一)
145 0
JavaScript 入门基础 / 概念介绍(一)
|
JavaScript 前端开发 Java
JavaScript的基础使用
JavaScript的基础 一、javascript简介 JavaScript简称js,最初由网景(现在的Mozilla)公司创建,由于商标冲突原因,其标准版本命名为ECMAScript,但是一般人们还是叫JavaScript,只在谈标准的时候说到ECMAScript这个名字。值得注意的是JavaScript与java没有任何关系,就像雷峰塔(神话中镇压白娘子的塔)和雷锋。此外js(JavaScript)和jsp(java servlet pages)也没有关系。   js的工作分为两部分,一部分属于js语言本身的特性,而另一部需要依靠宿主环境(web浏览器)才能完成。 二、javascri
JavaScript的基础使用
|
JavaScript 前端开发
vue js文字跑马灯基础版本
提供两种解决思路
293 1
|
JavaScript 前端开发
原生js制作选项卡详解,适合无基础的人学习
原生js制作选项卡详解,适合无基础的人学习
144 0
原生js制作选项卡详解,适合无基础的人学习