155个JavaScript基础问题(11-20)
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属性会被添加到全局对象中去。
参考文献
作者:Always_positive
链接:https://juejin.cn/post/6967524058283900959
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
共同学习,写下你的评论
评论加载中...
作者其他优质文章