- 输出是什么?
const sum = eval('10*10+5')
答:A,eval会将字符串变为表达式,然后执行。
- cool_secret能够访问多长时间?
sessionStorage.setItem('cool_secret', 123)
答:使用sessionStorage存储内容时,一旦用户关闭Tab标签页,存储的内容将消失,localStorage则不会,除非调用localStorage.clear().
- 输出是什么?
var num = 8
var num = 10
console.log(num)
答:B,因为这是var声明的变量,会出现同名定义,然后变量保存最新的值的情况。
- 输出是什么?
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)
答:C,因为除了Symbol之外,所有的对象的键在底层实现都是字符串,所以通过hasOwnProperty检测字符串1和数字1返回的都是true,但是集合是区分字符串和数字的,所以是false,true.
- 输出是什么?
const obj = { a: 'one', b: 'two', a: 'three' }
console.log(obj)
答:C,在对象中,如果出现重名键的情况,键的顺序不发生变化,但是后面的值会覆盖掉同名键前边的值。 26. JavaScript全局执行上下文做了两件事:全局对象和this关键字
答:A,一行JavaScript代码运行的时候,是在执行上下文运行的,在JS代码执行前,执行上下文将会做三件事:1. this绑定。2. 创建词法环境。3. 创建变量环境。
- 输出是什么?
for (let i = 1; i < 5; i++) {
if (i === 3) continue
console.log(i)
}
答:C,因为3被跳过了,continue这个关键词的作用是,跳过本次循环继续下次循环。
- 输出是什么?
String.prototype.giveLydiaPizza = () => {
return 'Just give Lydia pizza already!'
}
const name = 'Lydia'
name.giveLydiaPizza()
答:A,因为String也属于构造函数,所以通过给构造函数的原型对象添加方法,实例是能够访问到的。
- 输出是什么?
const a = {}
const b = { key: 'b' }
const c = { key: 'c' }
a[b] = 123
a[c] = 456
console.log(a[b])
答:B,这是因为一个对象作为键的时候,是将下面的形式存进去了。这也就是为什么答案选B。
- 输出是什么?
const foo = () => console.log('First')
const bar = () => setTimeout(() => console.log('Second'))
const baz = () => console.log('Third')
bar()
foo()
baz()
答:B,本题考查的其实是JS事件循环,首先会运行同步代码,其次是微任务和宏任务。
|