本文操作环境:windows10系统、nodejs 16版、dell g3电脑。
node中没有包含dom和bom在node中采用ecmascript进行编码
没有bom和dom,和浏览器中的js不一样
首先明确二点:
1、bom(browser object model)是指浏览器对象模型,可以对浏览器窗口进行访问和操作
2、dom (document object model)是指文档对象模型,通过它,可以访问html文档的所有元素。
请看,根据以上两点就可以回答你这个问题了。
node中并没有浏览器也没有文档。node是后端语言,类似php的存在。
如果你想在node中使用bom和dom对象,你可以试试electron。
electron: 是使用 javascript, html 和 css 构建跨平台的桌面应用.(这里面可以使用bom和dom)
扩展知识
1、dom文档对象模型:是w3c组织推荐的处理可扩展标志语言的标准编程接口。
dom(文档对象模型)是 html 和xml 的应用程序接口(api)。
html文档可以说由节点构成的集合,dom节点有:元素节点,文本节点,属性节点,(即元素标签)。
2、bom浏览器对象模型:用于描述这种对象与对象之间层次关系的模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。
bom 主要处理浏览器窗口和框架,不过通常浏览器特定的javascript 扩展都被看做 bom 的一部分。
bom包含了dom(对象)。
javacsript是通过访问bom(browser object model)对象来访问、控制、修改客户端(浏览器)。
3、节点属性nodename;节点的名字nodetype;节点的类型nodevalue;遍历节点树childnodes;
node节点的特性和方法
firstchild //node,指向在childnodes列表中的第一个节点lastchild //node,指向在childnodes列表中的最后一个节点parentnode //node,指向父节ownerdocument //document,指向这个节点所属的文档firstchild //node,指向在childnodes列表中的第一个节点lastchild //node,指向在childnodes列表中的最后一个节点parentnode //node,指向父节点childnodes //nodelist,所有子节点的列表previoussibling /node,/指向前一个兄弟节点:如果这个节点就是第一个节点,那么该值为null`nextsibling` //node,指向后一个兄弟节点:如果这个节点就是最后一个节点,那么该值为null`haschildnodes()` //boolean,当childnodes包含一个或多个节点时,返回真值
3、dom同时两种事件模型:冒泡型事件和捕获型事件
冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标的顺序触发
(触发的顺序是:div、body、html(ie 6.0和mozilla 1.0)、document、window(mozilla 1.0))
捕获型事件:与冒泡事件相反的过程,事件从最不精确的对象开始触发,然后到最精确上面例子触发的顺序是:document、div
推荐学习:《nodejs视频教程》
以上就是node中是否包含dom和bom的详细内容。
