一只 div 对象的完整原型链

简介: 一只 div 对象的完整原型链

JavaScript 中的继承是基于原型链机制来实现的,只要是对象就会有原型( 对象原型的 __proto__ 为 null ),那我们通过元素选择器获取的 div 对象,它也是一个对象,它有原型吗?搞一下不就知道了:

let div = document.getElementById('div');
console.log(div);    //打印一个div标签,不要相信,它在骗傻子呢
console.dir(div);    //打印出一个对象,可以根据__proto__属性逐级查看原型

首先是 div 元素的一些自身属性,如:className、id、style 等等。


div 的第一层原型:HTMLDivElement.prototype,里面是所有 div 共有的属性。( 对象.__proto__ === 其构造器.prototype )


div 的第二层原型:HTMLElement.prototype,里面是所有 HTML 标签共有的属性。


div 的第三层原型:Element.prototype,里面是所有 XML、HTML 标签的共有属性。


div 的第四层原型:Node.prototype,里面是所有节点共有的属性,节点包括 XML 标签文本注释、HTML标签文本注释等。


div 的第五层原型:EventTarget.prototype,里面重要的函数属性是 addEventListener()、removeEventListener()。


div 的最后一层原型:Object.prototype,它是 JavaScript 中所有对象的原型链上的根(Object.prototype.__proto__ === null )



目录
相关文章
|
存储 Linux C语言
【C++初阶】6. C&C++内存管理
【C++初阶】6. C&C++内存管理
99 2
|
数据采集 前端开发 API
如何在爬虫过程中正确使用Promise对象和async/await?
如何在爬虫过程中正确使用Promise对象和async/await?
211 2
|
11月前
|
存储 Linux C语言
Linux C/C++之IO多路复用(aio)
这篇文章介绍了Linux中IO多路复用技术epoll和异步IO技术aio的区别、执行过程、编程模型以及具体的编程实现方式。
476 1
Linux C/C++之IO多路复用(aio)
|
11月前
|
JavaScript 数据安全/隐私保护
马蜂窝 cookie 加密(加速乐)
本文介绍了一次针对马蜂窝网站的逆向工程过程,旨在学习交流,不提供完整代码及敏感信息。文中详细描述了三次GET请求的过程,通过抓包工具分析了请求头和响应内容,并逐步解析了`cookie`参数的生成方法。最终通过携带特定`cookie`成功获取页面内容。严禁将本文内容用于非法或商业用途,违者自行承担一切后果。未经许可不得转载或修改后传播。
275 0
|
JavaScript 前端开发
vue实现循环发起多个异步请求——Promise.all()与Promise.race()
vue实现循环发起多个异步请求——Promise.all()与Promise.race()
540 1
|
10月前
|
搜索推荐 算法 C语言
【排序算法】八大排序(下)(c语言实现)(附源码)
本文继续学习并实现了八大排序算法中的后四种:堆排序、快速排序、归并排序和计数排序。详细介绍了每种排序算法的原理、步骤和代码实现,并通过测试数据展示了它们的性能表现。堆排序利用堆的特性进行排序,快速排序通过递归和多种划分方法实现高效排序,归并排序通过分治法将问题分解后再合并,计数排序则通过统计每个元素的出现次数实现非比较排序。最后,文章还对比了这些排序算法在处理一百万个整形数据时的运行时间,帮助读者了解不同算法的优劣。
345 7
|
12月前
|
存储 开发工具 Android开发
使用.NET MAUI开发第一个安卓APP
【9月更文挑战第24天】使用.NET MAUI开发首个安卓APP需完成以下步骤:首先,安装Visual Studio 2022并勾选“.NET Multi-platform App UI development”工作负载;接着,安装Android SDK。然后,创建新项目时选择“.NET Multi-platform App (MAUI)”模板,并仅针对Android平台进行配置。了解项目结构,包括`.csproj`配置文件、`Properties`配置文件夹、平台特定代码及共享代码等。
942 2
|
机器学习/深度学习 人工智能 算法
人工智能伦理框架:构建AI的道德指南针
【7月更文挑战第16天】随着人工智能技术的快速发展,其对社会的深远影响引起了广泛关注。本文探讨了构建人工智能伦理框架的必要性,并提出了一套基于四大原则的伦理指导方针:透明度、公正性、责任归属和隐私保护。文章旨在为AI系统的设计与部署提供道德指南,确保技术进步与人类价值观相协调。
774 3
|
消息中间件 SQL 分布式计算
DataWorks产品使用合集之如何离线增量同步Kafka数据,并指定时间范围进行同步
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
Shell Linux 开发工具
【Linux】环境变量常见指令操作&基本实验(入门必看!)
【Linux】环境变量常见指令操作&基本实验(入门必看!)