155个JavaScript基础问题(21-25)

21. 输出是什么?

const sum = eval('10*10+5')

155个JavaScript基础问题(21-25)_第1张图片

答:A,eval会将字符串变为表达式,然后执行。

22. cool_secret能够访问多长时间?

sessionStorage.setItem('cool_secret', 123)

答:使用sessionStorage存储内容时,一旦用户关闭Tab标签页,存储的内容将消失,localStorage则不会,除非调用localStorage.clear().

23. 输出是什么?

var num = 8
var num = 10

console.log(num)

155个JavaScript基础问题(21-25)_第2张图片

答:B,因为这是var声明的变量,会出现同名定义,然后变量保存最新的值的情况。

24. 输出是什么?

const obj = {
      1: 'a', 2: 'b', 3: 'c' }
const set = new Set([1, 2, 3, 4, 5])

obj.hasOwnProperty('1')
obj.hasOwnProperty(1)
set.has('1')
set.has(1)

155个JavaScript基础问题(21-25)_第3张图片

答:C,因为除了Symbol之外,所有的对象的键在底层实现都是字符串,所以通过hasOwnProperty检测字符串1和数字1返回的都是true,但是集合是区分字符串和数字的,所以是false,true.

25. 输出是什么?

const obj = {
      a: 'one', b: 'two', a: 'three' }
console.log(obj)

155个JavaScript基础问题(21-25)_第4张图片

答:C,在对象中,如果出现重名键的情况,键的顺序不发生变化,但是后面的值会覆盖掉同名键前边的值。

你可能感兴趣的:(Per,Day)