What type of Node is the Element an instance of?
- 内容介绍
- 文章标签
- 相关推荐
本文共计354个文字,预计阅读时间需要2分钟。
今天看到一个问题时,问Element instance Node 为什么是 false。首先,我们知道 Element 是 Node 的子类,那么为什么 Element instance of Node 是 false 呢?因为 Element 是一个构造函数,它的类型是 Function,而不是 Node。
今天看到一个问题,问 Element instance Node 为什么是 false。
首先,我们知道 Element 是 Node 的子类,那么为什么 Element instanceof Node 是 false 呢?
Element 是一个构造函数,所以类型为 Function, Node 也是一个构造函数,所以类型也为 Function。
instanceof 这个关键字是用来判断 A 是否为 B 的实例。
let arr = [] console.log(arr instanceof Array)
如上所示,控制台会打印出true,因为 arr 是 Array 的一个实例。
那么为何 Element instanceof Node 是 false 呢,因为 Element 是 Node 的子类,但不是它的实例。
console.log(Element instanceof Node) console.log(Element.__proto__ === Node)
显然,上面第一行为 false,第二行为 true。
我们来看一下 instanceof 方法如何运行的,写一下 instanceof 的实现代码。
本文共计354个文字,预计阅读时间需要2分钟。
今天看到一个问题时,问Element instance Node 为什么是 false。首先,我们知道 Element 是 Node 的子类,那么为什么 Element instance of Node 是 false 呢?因为 Element 是一个构造函数,它的类型是 Function,而不是 Node。
今天看到一个问题,问 Element instance Node 为什么是 false。
首先,我们知道 Element 是 Node 的子类,那么为什么 Element instanceof Node 是 false 呢?
Element 是一个构造函数,所以类型为 Function, Node 也是一个构造函数,所以类型也为 Function。
instanceof 这个关键字是用来判断 A 是否为 B 的实例。
let arr = [] console.log(arr instanceof Array)
如上所示,控制台会打印出true,因为 arr 是 Array 的一个实例。
那么为何 Element instanceof Node 是 false 呢,因为 Element 是 Node 的子类,但不是它的实例。
console.log(Element instanceof Node) console.log(Element.__proto__ === Node)
显然,上面第一行为 false,第二行为 true。
我们来看一下 instanceof 方法如何运行的,写一下 instanceof 的实现代码。

