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

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

56. 输出是什么?

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

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

答: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);


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

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

58. 输出是什么?

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

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

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

59. 输出是什么?

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

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

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

60. 输出是什么?

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


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

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

61. 输出是什么?

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

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

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

62. 输出是什么?

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

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

答: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);


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

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

64. 输出是什么?

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


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

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

65. 输出是什么?

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

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

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

题目来源

github.com/lydiahallie…

欢迎大家关注专栏,每日更新。

上一篇:微信公共服务平台开发(.Net 的实现)5-------解决access_token过期的问题 .


下一篇:使用采用 Android* OS 的英特尔® 集成性能基元