本文探讨JavaScript的三大部分中的两个部分,DOM和BOM。

DOM介绍

  DOM,全称Document Object Model,即文档对象模型。它

是W3C的一个标准,定义了一个对文档操作的标准,给了编程人员

专业的操作方式。

  DOM的节点:DOM的节点主要有文档节点、元素节点、文本节

点、属性节点、注释节点。开发人员可以通过节点类型来检验一个

HTML文档中还有多少某种类型的节点。

Example:

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>nodeType</title>
</head>
<body>
<h1>This is a headline.</h1>
<p>This a paragraph.</p>
<a href="#"></a>
<script>
function elements(node)
{
var num=0;
if(node.nodeType==1)
{
num++;
}
var nodeson=node.childNodes;
for(var i=1;i<nodeson.length;i++)
{
num+=elements(nodeson[i]);
}
return num;
}
console.log("这里有"+elements(document)+"个HTML元素");
</script>
</body>
</html>

通过nodeType函数可以得到各种类型节点的返回值,用遍历的方

式将HTML文件的元素个数记录下来实现统计元素。

  DOM访问文档元素有3种方式。

  ①getElementById("element");返回id属性的元素。通过给标

签增添Id属性,精确的操作指定元素。

  ②getElementByTagName("tag");返回指定标签元素。对该

类型的元素进行操作。

  ③getElementByName("name");返回name属性的元素。

  DOM是一个庞大的W3C文档对象操作标准。更多的内容需要

对DOM不断的学习、实践,才能掌握。

BOM介绍

  BOM是The Browser Object Model的缩写,其含义为浏览

器对象模型。JavaScript通过它来实现与浏览器之间的交互。它由多

个对象组成,其中window是代表浏览器窗口的BOM顶层对象,其

余对象为它的子对象。BOM的一大缺点是缺乏标准,但是它广泛应

用在前端开发中,大多数浏览器都支持。

  BOM的对象。BOM的对象有多个,主要有window对象(包括

window、self、parent、top等),navigator对象,location对象,

history对象,document对象,screen对象。window对象:它是客

户端JavaScript的顶层对象,可以通过语句让浏览器发出弹窗;navi-

-gator对象:是操作客户端浏览器信息的对象,能够获取浏览器信息;

location对象:当前网页的URL信息,可以实现定位;history对象:

浏览器的历史访问URL;document对象:被用来访问文档内容及所有

元素;screen对象:浏览器客户端显示屏的信息。

关于JavaScript的DOM和BOM的更多相关文章

  1. 【JavaScript】DOM和BOM之我的理解

    2018年12月17日 一.我们能够对html文档和浏览器做的操作 (一)html文档 增.删.改.可以在html中增加.删除.改动元素 (二)浏览器 地址栏:输入.修改地址 历史记录:前进.后退.跳 ...

  2. JAVAScript中DOM与BOM的差异分析

    JAVAScript 有三部分构成,ECMAScript,DOM和BOM,根据浏览器的不同,具体的表现形式也不尽相同.我们今天来谈一谈DOM和BOM这俩者之间的差异. 用百科上的来说: 1. DOM是 ...

  3. JavaScript组成—— DOM、BOM、ECMAScript

    ECMAScript是JS的核心:提供核心语言功能 DOM(文档对象模型):提供访问和操作网页内容的方法和接口 BOM(浏览器对象模型):提供与浏览器交互的方法和接口 1. DOM(文档对象模型) 1 ...

  4. web开发:javascript之dom与bom

    一.节点认知 二.文档结构 三.文档节点操作 四.事件target 五.BOM操作 一.节点认知 - dom与dom属性 <!DOCTYPE html> <html> < ...

  5. JavaScript 之 DOM 与 BOM

    DOM是文档对象模型,用来获取或设置文档中标签的属性,例如获取或者设置input表单的value值. 由于DOM的操作对象是文档(Document),所以dom和浏览器没有直接关系. BOM是浏览器对 ...

  6. JavaScript中DOM与BOM的区别

    1.BOM BOM全称为Brower Object Model,中文翻译为浏览器对象模型,提供了独立于内容而与浏览器窗口进行交互的对象.描述了与浏览器进行交互的方法和接口.通过BOM可以用来获取或设置 ...

  7. 【JavaScript】DOM之BOM

    BOM 1.BOM是什么 提供了独立页面内容,与浏览器相关的一系列对象,管理窗口之间通信 2.Window对象 具有双重角色,对象即是允许JS访问浏览器窗口的一个对象,和ECMAScript规范中的G ...

  8. javascript、ECMAScript、DOM、BOM关系

    ECMAScript,正式名称为 ECMA 262 和 ISO/IEC 16262,是宿主环境中脚本语言的国际 Web 标准. ECMAScript 规范定义了一种脚本语言实现应该包含的内容:但是,因 ...

  9. 理清javascript的相关概念 DOM和BOM

    javascript 有三部分构成,ECMAScript,DOM和BOM,根据宿主(浏览器)的不同,具体的表现形式也不尽相同,ie和其他的浏览器风格迥异.JavaScript=语法+BOM(含DOM) ...

随机推荐

  1. ELK日志分析系统搭建

    之前一段时间由于版本迭代任务紧,组内代码质量不尽如人意.接二连三的被测试提醒后台错误之后, 我们决定搭建一个后台日志分析系统, 经过几个方案比较后,选择的相对更简单的ELK方案. ELK 是Elast ...

  2. java基础之----redi分布式锁

    最近项目中,用到了redis分布式锁,使用过程有些心得,所以希望分享给大家. 首先我们意识里要知道分布锁有哪些? 分布式锁一般分三种,基于数据库的乐观锁,基于redis的分布式锁,基于zookeper ...

  3. Flutter 不能热加载,热重载按钮灰色,无法点击,flutter doctor 显示NO_PROXY is not set

    一.现象: Flutter 不能热加载 热重载按钮灰色,无法点击. 二.分析原因: 终端 flutter doctor 显示 NO_PROXY is not set 没有设置无代理的端口 终端:flu ...

  4. C#调用Fortran生成的DLL的方法报内存不足

    最近在研究一个程序,公司给的,程序是VB写的,程序里面还有一个计算的模型,用Fortran语言写的. 在调试到这个模型里面的方法时报错,说是内存不足,于是就在网上查找方法,看了两篇博客之后问题解决了. ...

  5. cannot mount volume over existing file, file exists /var/lib/docker/overlay2/.../merged/usr/share/zoneinfo/UTC 解决

    问题产生原因: linux系统docker-compose.yml文件 放到 mac本启动发现启动报错 cannot mount volume over existing file, file exi ...

  6. 简单的c语言程序

    我猜大部分人第一门掌握的语言是c语言吧(我第一门学的是python). 在接下来的文章里我会逐步的介绍有关自己对c语言的理解,希望对一些小伙伴有帮助,有哪里有错误希望大佬指出. 首先这是第一个c语言程 ...

  7. 理解setTimeout()

    之前在网上看了很多关于setTimeout的文章,但我感觉都只是点到为止,并没有较深入的去剖析,也可能是我脑袋瓜笨,不容易被点解.后面看了<你不知道的javascript-上卷>一书,决定 ...

  8. 18个Java8日期处理的实践,对于程序员太有用了!

    18个Java8日期处理的实践,对于程序员太有用了! Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API. Java处理日期.日历和时间的方式一直为社区所 ...

  9. Django redis 应用

    一.自定义连接池 与python中使用连接池一样(使用单例对象) 注意:每个视图函数都要有 conn = redis.Redis(connection_pool=POOL) 二.使用第三方模块(dja ...

  10. php变量中两种特殊类型

    第一种----资源 资源(resource):资源是由专门的函数来建立和使用的,例如打开文件.数据连接.图形画布.我们可以对资源进行操作(创建.使用和释放).任何资源,在不需要的时候应该被及时释放.如 ...