前端笔试选择题——day5
所有对象都有原型
A.对
B.错
解析:
除基础对象外,所有对象都有原型,基础对象能访问某些属性和方法,这是因为可以使用内置JavaScript方法的原因。
基础对象指原型链终点的对象。基础对象的原型为null
输出什么?
const name = "Lydia";
age = 21;
console.log(delete name);
console.log(delete age);
A. false true
B. “Lydia”,21
C. true,true
D. undefined,undefined
delete操作符返回的是一个布尔值,true表示删除成功,否则返回false
通过const,var,let定义的变量无法用delete进行删除
我们可以通过delete删除对象(未冻结)上的引用属性
age = 21
实际上添加了一个为age的属性为全局对象
输出什么?
function compareMembers(person1,person2 = person1) {
if(person1 !== person2) {
console.log("Not the same!")
} else {
console.log("They are the smae!")
}
}
const person = {name:"Lydia"}
compareMembers(person) // They are the same!
解析:
对象通过引用传递,当我们检查对象的严格相等性(===)时,我们正比较它们的地址
person2 === person1
实际上是引用地址的传递
两个对象的引用地址相同,那么返回true
输出什么
const name = "ABC"
const age = 21;
console.log(Number.isNaN(name)) //false
console.log(Number.isNaN(age)) // false
console.log(isNaN(name)) // true
console.log(isNaN(age)) // false
和全局函数 isNaN() 相比,Number.isNaN() 不会自行将参数转换成数字,只有在参数是值为 NaN 的数字时,才会返回 true。