155个JavaScript基础问题(86-95)

简介: 155个JavaScript基础问题(86-95)

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

86. 那个选项是将hasName置为true的方法,前提是不能将true作为参数进行传递?

function getName(name) {
  const hasName = //
}

image.png

答:A,对name取!返回的是布尔值,C项返回的是一个对象包装器,B返回的是name本身,D返回的是name的长度。

87. 输出是什么?

console.log("I want pizza"[0])

image.png

答:B,本题意在告诉我们字符串也是可以通过类似数组下标的方式进行取值的。

88. 输出什么?

function sum(num1, num2 = num1) {
  console.log(num1 + num2)
}
sum(10)

image.png

答:B,本题考查的是函数的默认传参,在本题的情况下,如果只传一个参数,第二个参数默认是第一个参数的值。

89. 输出什么?

// module.js 
export default () => "Hello world"
export const name = "Lydia"
// index.js 
import * as data from "./module"
console.log(data)


image.png

答:A,本题意在考查import * as的用法,通过这种用法,会将module.js文件中的所有暴露导入到index.js中的data对象中,所以选A,下面是测试截图。

image.png

90. 输出什么?

class Person {
  constructor(name) {
    this.name = name
  }
}
const member = new Person("John")
console.log(typeof member)


image.png

答:C,Person类的实例对象属于object。

91. 输出什么?

let newList = [1, 2, 3].push(4)
console.log(newList.push(5))

image.png

答:D,本题意在考查push方法的返回值,我们要知道返回的并不是一个新数组而是新数组的长度,所以给一个数字添加元素,是要报错的,所以选D。

92. 输出什么?

function giveLydiaPizza() {
  return "Here is pizza!"
}
const giveLydiaChocolate = () => "Here's chocolate... now go hit the gym already."
console.log(giveLydiaPizza.prototype)
console.log(giveLydiaChocolate.prototype)


image.png

答:D,常规函数有prototype属性,但是箭头函数没有这个属性,所以选D,下面是codepen的测试截图:

image.png

93. 输出什么?

const person = {
  name: "Lydia",
  age: 21
}
for (const [x, y] of Object.entries(person)) {
  console.log(x, y)
}

image.png

答:A,本题意在考查Object.entries这个API的用法,这个API将对象键值对存入一个二维数组,具体解释请看下图:

image.png

94. 输出什么?

function getItems(fruitList, ...args, favoriteFruit) {
  return [...fruitList, ...args, favoriteFruit]
}
getItems(["banana", "apple"], "pear", "orange")

image.png

答:D,本题意在考查我们对拓展运算符的理解,这里的拓展运算符必须放在最后一个参数,不然会报错。

image.png

95. 输出什么?

function nums(a, b) {
  if
  (a > b)
  console.log('a is bigger')
  else 
  console.log('b is bigger')
  return 
  a + b
}
console.log(nums(4, 2))
console.log(nums(1, 2))

image.png

答:B,这道题有点坑,主要是JS在编译的时候会自动给return后面加个分号,所以永远访问不到a+b,所以选B。

题目来源

github.com/lydiahallie…


相关文章
|
JavaScript
JS基础之解构赋值
解构赋值 在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
123 0
JavaScript 入门基础 - 运算符(三)
|
存储 JSON JavaScript
JavaScript 入门基础 - 变量 / 数据类型(二)
JavaScript 入门基础 - 变量 / 数据类型(二)
88 0
JavaScript 入门基础 - 变量 / 数据类型(二)
|
JavaScript 前端开发 物联网
JavaScript 入门基础 / 概念介绍(一)
JavaScript 入门基础 / 概念介绍(一)
112 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 前端开发
js 模块化基础和模块规范AMD、CMD、ES6模块
js 模块化基础和模块规范AMD、CMD、ES6模块
85 0
|
JavaScript 前端开发
原生js制作选项卡详解,适合无基础的人学习
原生js制作选项卡详解,适合无基础的人学习
111 0
原生js制作选项卡详解,适合无基础的人学习
|
JavaScript 前端开发
vue js文字跑马灯基础版本
提供两种解决思路
255 1
|
存储 JavaScript 前端开发
JavaScript基础(一篇入门)
JavaScript基础(一篇入门)
187 0
JavaScript基础(一篇入门)
|
XML JavaScript 前端开发
计算机二级web题目(5)--js(Javascript)基础
计算机二级web题目(5)--js(Javascript)基础
254 0