155个JavaScript基础问题(31-40)

简介: 155个JavaScript基础问题(31-40)

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

31. 当点击按钮时,event.target是什么?

<div onclick="console.log('first div')">
  <div onclick="console.log('second div')">
    <button onclick="console.log('button')">
      Click!
    </button>
  </div>
</div>

image.png


答:C,触发事件的对象的引用是button.

32. 单击该段落时,输出是什么?

<div onclick="console.log('div')">
  <p onclick="console.log('p')">
    Click here!
  </p>
</div>

image.png

答:A,本题考查的是事件冒泡。

33. 输出是什么?

const person = { name: 'Lydia' }
function sayHi(age) {
  console.log(`${this.name} is ${age}`)
}
sayHi.call(person, 21)
sayHi.bind(person, 21)

image.png

答:D,本题之所以选D的原因在于,call是立即执行的,bind返回一个函数。

34. 输出是什么?

function sayHi() {
  return (() => 0)()
}
typeof sayHi()

image.png

答:B,这是因为sayHi函数返回的是一个立即执行函数的结果,所以返回的是0,0属于number类型的。

35. 下面哪些值是假值?

0
new Number(0)
('')
(' ')
new Boolean(false)
undefined

image.png

答:A,首先我们要明确一点,new Number和new Boolean都不是字面量了,而是一个对象,所以他们不等价于假值,'' 和 ' '这两个也不一样,一个是空串可以表示假值,但是另一个是空格,不代表假值,所以本题选A。

image.png

36. 输出是什么?

console.log(typeof typeof 1)

image.png

答:B,这题有点坑,是因为typeof 1返回的是字符串 "number",这也就是为什么再次typeof返回的是string了。

37. 输出是什么?

const numbers = [1, 2, 3]
numbers[10] = 11
console.log(numbers)


image.png

答:C,当给超过数组长度的位置设置值的时候,其实中间都是undefined,打印出来就像下面这样。

image.png

38. 输出是什么?

(() => {
  let x, y
  try {
    throw new Error()
  } catch (x) {
    (x = 1), (y = 2)
    console.log(x)
  }
  console.log(x)
  console.log(y)
})()


image.png

答:A,这道题主要是想考察catch会形成一个块级作用域,catch中接收到的x和let 定义的x不是同一个,但是catch中操作的y是同一个,这也就是为什么返回的是1 undefined 2的原因了。

39. JavaScript中的一切都是什么?

image.png

答:A,这道题我原本想选C来着,但是仔细想想单纯的字面量必须要归为一类。

40. 输出是什么?

[[0, 1], [2, 3]].reduce(
  (acc, cur) => {
    return acc.concat(cur)
  },
  [1, 2]
)

image.png

答:C,这题没有什么坑,关键就是看清一点,使用reduce之前给了初始值[1,2].

题目来源

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
121 0
JavaScript 入门基础 - 运算符(三)
|
存储 JSON JavaScript
JavaScript 入门基础 - 变量 / 数据类型(二)
JavaScript 入门基础 - 变量 / 数据类型(二)
87 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模块
83 0
|
JavaScript 前端开发
原生js制作选项卡详解,适合无基础的人学习
原生js制作选项卡详解,适合无基础的人学习
109 0
原生js制作选项卡详解,适合无基础的人学习
|
JavaScript 前端开发
vue js文字跑马灯基础版本
提供两种解决思路
253 1
|
存储 JavaScript 前端开发
JavaScript基础(一篇入门)
JavaScript基础(一篇入门)
185 0
JavaScript基础(一篇入门)
|
XML JavaScript 前端开发
计算机二级web题目(5)--js(Javascript)基础
计算机二级web题目(5)--js(Javascript)基础
252 0