11. 输出是什么?
function Person(firstName, lastName) { this.firstName = firstName; this.lastName = lastName; } const member = new Person("Lydia", "Hallie"); Person.getFullName = function () { return `${this.firstName} ${this.lastName}`; } console.log(member.getFullName());
答:A,本题中Person是一个构造函数,不能像普通的对象给构造函数添加属性,要想给构造函数的实例添加属性,可以通过原型的方式来实现。
12. 输出是什么?
function Person(firstName, lastName) { this.firstName = firstName this.lastName = lastName } const lydia = new Person('Lydia', 'Hallie') const sarah = Person('Sarah', 'Smith') console.log(lydia) console.log(sarah)
答:A,关于Lydia的选项一般不易选错,因为通过new关键词,this会引用我们创建的空对象,但是sarah没有使用new关键词,所以,此时的this是指向global的,而sarah本身是undefined.
13. 事件捕获的三个阶段是哪些?
答:选D、DOM事件流的三个阶段分别是事件捕获阶段、处于目标阶段、事件冒泡阶段。事件捕获的三个阶段图示:
14. 所有的对象都有原型?
答:错。这句话是不够准确的,准确的说应该是除去Object之外的所有对象都有原型。
15. 输出是什么?
function sum(a, b) { return a + b } sum(1, '2')
答:C,因为JS将字符串2和数字1相加时,会进行类型转换,将1转换为字符串类型的,然后就相当于一种字符串拼接。
16. 输出是什么?
let number = 0 console.log(number++) console.log(++number) console.log(number)
答:C,number++是先输出值,再进行加,但是++number则是先加,再进行输出。
17. 输出是什么?
function getPersonInfo(one, two, three) { console.log(one) console.log(two) console.log(three) } const person = 'Lydia' const age = 21 getPersonInfo`${person} is ${age} years old`
答:B,我刚开始看到这道题的时候,我在想getPersonInfo是不是少加一个括号,后来我发现并不是这样,本题意在考查标签函数。所谓的标签函数就是函数名后面直接带一个模板字符串,并从模板字符串中的插值表达式中获取参数。标签表达式的第一个参数是模板字符串中的普通文本,大括号标记的地方视为空字符串,第二个参数则是模板字符第一个大括号中的,以此类推。
18. 输出是什么?
function checkAge(data) { if (data === { age: 18 }) { console.log('You are an adult!') } else if (data == { age: 18 }) { console.log('You are still an adult.') } else { console.log(`Hmm.. You don't have an age I guess`) } } checkAge({ age: 18 })
答:C,对象在进行比较时,比较的是引用的内存地址,此处参数形式的对象的地址和用于比较的对象的地址是不同的,所以=== 和 == 返回的都是false,所以最后答案选C。
19. 输出是什么?
function getAge(...args) { console.log(typeof args) } getAge(21)
答:C、拓展运算符返回的是实参数组,数组属于object类型。
20. 输出是什么?
function getAge() { 'use strict' age = 21 console.log(age) } getAge()
答:C、因为这是严格模式,所以会出现引用错误,如果不是严格模式的话,age属性会被添加到全局对象中去。
参考文献
其余题目链接
为什么不一次性放完所有题目?
博主认为学习贵在坚持,而不是三天打鱼两天晒网,学习不是收藏不看,而是每天进步一点点,大家一起加油!
欢迎大家指正批评