155个JavaScript基础问题(56-65)

简介: 155个JavaScript基础问题(56-65)

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

56. 输出是什么?

const set = new Set([1, 1, 2, 3, 4]);
console.log(set);

image.png

答:D、本题考查集合的用法,集合有去重的功能,所以答案是打印出集合形式的1 2 3 4.

57. 输出是什么?

// counter.js
let counter = 10;
export default counter;
// index.js
import myCounter from "./counter";
myCounter += 1;
console.log(myCounter);


image.png

答:C,引入的模块是只读的,不能修改引入的模块。

58. 输出是什么?

const name = "Lydia";
age = 21;
console.log(delete name);
console.log(delete age);

image.png

答:A,只需记住一点,属性是还可以删除的,定义的变量无法使用delete的,age相当于给全局对象添加属性,name则是定义变量。

59. 输出是什么?

const numbers = [1, 2, 3, 4, 5];
const [y] = numbers;
console.log(y);

image.png

答:C,本题主要考察数组的解构赋值,所以y是1,因为需要个数上对应。

60. 输出是什么?

const user = { name: "Lydia", age: 21 };
const admin = { admin: true, ...user };
console.log(admin);


image.png

答:B,本题主要考察的是通过拓展运算符对对象进行解构,所以答案选B。

61. 输出是什么?

const person = { name: "Lydia" };
Object.defineProperty(person, "age", { value: 21 });
console.log(person);
console.log(Object.keys(person));

image.png

答:B,本题主要考察的是defineProperty的用法,通过该方法给对象添加的属性,需要声明其属性是否可迭代,如果没有声明默认是不可迭代,所以本题选B。

62. 输出是什么?

const settings = {
  username: "lydiahallie",
  level: 19,
  health: 90
};
const data = JSON.stringify(settings, ["level", "health"]);
console.log(data);

image.png

答:A,本题主要考察JSON.stringify的用法,第二个参数意味着将哪些属性转换为字符串,所以本题选A。

63. 输出是什么?

let num = 10;
const increaseNumber = () => num++;
const increasePassedNumber = number => number++;
const num1 = increaseNumber();
const num2 = increasePassedNumber(num1);
console.log(num1);
console.log(num2);


image.png

答:A,本题主要考察的是x++的调用顺序问题,两次调用都是将10返回之后再加的。

64. 输出是什么?

const value = { number: 10 };
const multiply = (x = { ...value }) => {
  console.log(x.number *= 2);
};
multiply();
multiply();
multiply(value);
multiply(value);


image.png

答:C,本题考查的是默认参数和传参的区别,通过默认参数每次都会创建一个新对象,对源对象没有影响,但是直接传参的话,如果传的是引用,则会产生影响。

65. 输出是什么?

[1, 2, 3, 4].reduce((x, y) => console.log(x, y));

image.png

答:D,本题主要考察的是reduce函数的用法,reduce的第一个参数是累积器的值,第二个参数的值是当前元素的值,如果不指定累积器的值,那么累积器的值是第一个元素的值即1,y是2。后面由于没有加减操作,所以累积器为undefined.

题目来源

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模块
84 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