<script>
function Person(name, age) {
this.name = name;
this.age = age;
}
const p1 = new Person('vite', 14);
console.log(p1);
// typeof:判断基本数据类型,无法判断引用数据类型
console.log(typeof "str"); // 'string'
console.log(typeof 123); // 'number'
console.log(typeof []); // 'object'
console.log(typeof null); // 'object'
console.log(typeof {}); // 'object'
// instanceof:精确判断引用数据类型
// instanceof原理:判断构造函数的原型对象是否在实例对象的原型链上
console.log(p1);
console.log(p1 instanceof Person); // true
console.log(p1 instanceof Object); // true
console.log(new Date() instanceof Date); // true
console.log(new Date() instanceof Object); // true
console.log([] instanceof Array); // true
console.log([] instanceof Object); // true
</script>17、js - 面试 - instanceof
于 2023-06-06 14:50:53 首次发布
文章介绍了JavaScript中的构造函数,如`Person`,以及如何使用`new`关键字创建实例。它还详细阐述了`typeof`和`instanceof`操作符的区别,前者用于判断基本数据类型,后者用于精确判断引用数据类型,特别是展示了`instanceof`如何检查构造函数的原型是否在实例的原型链上。
254

被折叠的 条评论
为什么被折叠?



