Dom和Bom的起源、方法、内容、应用。

Dom:起源:首先听到Virtual DOM这个概念应该来自于React,并且在不了解时觉得这个概念是一个逼格特别高的词。其实任何技术的诞生都是有相应的历史的,没有任何事物是凭空出现的,就像我听到很多人诟病JavaScript语言的语法糟粕太多,但实质上你要了解到JavaScript出现的原因和它的作者Brendan Eich仅仅用了十几天就设计出一门广泛流行的高级语言,你一定不会这样想。同样的,Virtual DOM的出现也是有一定的历史原因的,这就不得不讲到前端框架的历史了。各种前端框架就应用而生了,框架出现的目的并不是为了提升性能,而是为了可维护性、为了便于团队开发。但是天下没有白吃的午餐,你为了程序的可维护性,出让了一部分性能作为妥协,毕竟什么框架都没有手动原生操作性能高,因为框架要具有适普性,要能处理各种各样的场景。

  • 方法:x.getElementsByTagName(name) - 获取带有指定标签名称的所有元素
  • x.appendChild(node) - 向 x 插入子节点
  • x.removeChild(node) - 从 x 删除子节点

注释:在上面的列表中,x 是一个节点对象。

内容:DOM= Document Object Model,文档对象模型,DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的常用方法。有一点很重要,DOM的设计是以对象管理组织(OMG)的规约为基础的,因此可以用于任何编程语言。最初人们把它认为是一种让JavaScript在浏览器间可移植的方法,不过DOM的应用已经远远超出这个范围。Dom技术使得用户页面可以动态地变化,如可以动态地显示或隐藏一个元素,改变它们的属性,增加一个元素等,Dom技术使得页面的交互性大大地增强。 

DOM实际上是以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。可以把DOM认为是页面上数据和结构的一个树形表示,不过页面当然可能并不是以这种树的方式具体实现

应用:处理可扩展标志语言。

Bom:起源:BOM(Bill of Material)物料清单,也就是以数据格式来描述产品结构的文件,是计算机可以识别的产品结构数据文件,也是ERP的主导文件。BOM使系统识别产品结构,也是联系与沟通企业各项业务的纽带。ERP系统中的BOM的种类主要包括5类:缩排式BOM、汇总的BOM、反查用BOM、成本BOM、计划BOM。

  • 方法:  assign(url) 载入新的 url,记录浏览记录
  • replace(url) 载入新的 url 不记录浏览记录
  • reload() 重新载入当前页
  • back(int) 后退
  • forward(int) 前进
  • go(int) 正数向前,附属向后

内容:采用计算机辅助企业生产管理,首先要使计算机能够读出企业所制造的产品构成和所有要涉及的物料,为了便于计算机识别,必须把用图示表达的产品结构转化成某种数据格式,这种以数据格式来描述产品结构的文件就是物料清单,即是BOM。它是定义产品结构的技术文件,因此,它又称为产品结构表或产品结构树。在某些工业领域,可能称为“配方”、“要素 表”或其它名称。

MRPⅡ和ERP系统中,物料一词有着广泛的含义,它是所有产品,半成品,在制品,原材料,配套件,协作件,易耗品等等与生产有关的物料的统称。

应用:BOM是PDM/MRP/ERP信息化系统中最重要的基础数据,其组织格式设计合理与否直接影响到系统的处理性能,因此,根据实际的使用环境,灵活地设计合理且有效的BOM是十分重要的。

BOM不仅是MRP系统中重要的输入数据,而且是财务部门核算成本,制造部门组织生产等的重要依据,因此,BOM的影响面最大,对它的准确性要求也最高。正确地使用与维护BOM是管理系统运行期间十分重要的工作。

此外,BOM还是CIMS/MIS/MRP/ERPCADCAPP等子系统的重要接口,是系统集成的关键之处,因此,用计算机实现BOM管理时,应充分考虑它与其他子系统的信息交换问题。

BOM信息在MRP/ERP系统中被用于MRP计算,成本计算,库存管理。BOM有各种形式,这些形式取决于它的用途,BOM的具体用途有:

1、是计算机识别物料的基础依据。

2、是编制计划的依据。

3、是配套和领料的依据。

4、根据它进行加工过程的跟踪。

5、是采购和外协的依据。

6、根据它进行成本的计算。

7、可以作为报价参考。

8、进行物料追溯。

9、使设计系列化,标准化,通用化。

随机推荐

  1. Java基础第一天(标识符、变量)

    一.标识符 Java对各种变量.类.方法命名时的字符序列. 凡自己可以起名字的地方都叫标识符. 标识符特点: 1.26个英文字母大小写,0~9,$,_ 组成. 2.数字不可以做开头. 3.不可以使用关 ...

  2. Rust2018

    Rust已经有2本中文书了 <<深入浅出Rust>> <<Rust编程之道>> 带着aync的rust 2019会更精彩 看async , 在这里htt ...

  3. Python设计模式 - UML - 时序图(Sequence Diagram)

    简介 时序图表示参与者与对象之间.对象与对象之间的动态交互过程及时序关系. 时序图详细而直观地展示了对象随时间变化的状态.调用关系和消息时序,时序图中的主要元素有:参与者(Actor), 对象(Obj ...

  4. Android Studio 集成开发工具教学视频

    简介 经过2年时间的研发,Google终于正式发布了面向Android开发者的集成开发环境Android Studio 1.2(稳定版).Android Studio是Google开发的一款面向And ...

  5. Python读取excel表的数据

    from openpyxl.reader.excel import load_workbook #读取xlsx文件def readExcelFile(path): dic={} #打开文件 file= ...

  6. excel上传下载

    protected void Button1_Click(object sender, EventArgs e) { if (ViewState["unitname"] != nu ...

  7. java整数溢出问题及提升为long型

    整数溢出问题 Java 中的 int 用 32 位表示,正数最大值的情况,首位是 0,其他位都可以是 1(就是 2^31-1).但是如果正数过大了,例如 2^31,计算机不得不把首位变成 1,并且计算 ...

  8. 记一次mac下使用mamp集成环境配置lumen项目自定义域名遇到的花样问题

    1.安装好mamp集成环境,自行百度. 2.从公司项目版本库里将项目克隆到本地. 好了,开始配置自定义域名来访问项目,以下是遇到的问题集锦... 1.web服务器使用的nginx,配置完域名访问报40 ...

  9. Solved: RDP Disconnected – Error Code 2825 mremote

  10. 4-3 重构发送post请求

    当创建好一个post请求后 怎么测试呢?