dom-document object model:dom就是面向文档对象的模型,也就是说,会把html和css中的标签等元素转换成对象类型,这样就可以用js实现一些操作。
其中提到了一个api的概念,百度:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。然后在知乎上找到了一个有意思的例子:
“有一天,轮子哥写了一个专门抓取知乎小黄文的AI,而他每天都会查阅小黄文列表并且点赞。恰好你也是小黄文爱好者,那么轮子哥的账号对你来说就是API接口,你要做的唯一事情就是关注轮子哥账号,每天只需要查阅轮子哥的动态就能看到小黄文,但是不用关心轮子哥到底是用什么方法找到这么多小黄文的。
作者:彭天浩
链接:https://www.zhihu.com/question/38594466/answer/122391324
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。”
从我的角度来理解,api就好像是提供了一个计算器,可以不用了解计算器的工作原理,只需要输入想输入的数字,然后拿到相应的结果就可以了。
另外查询知乎答案还得到一个知识点,即API一般是SDK的一个组成部分,SDK(SDK的英文全名是:software development kit,翻译成中文的意思就是“软件开发工具包”)
例子:
“API 就是乐高积木的各种颗粒”
SDK就是一大包乐高积木,里面有颗粒(API),有各种小工具
APP就是最后你搭出来的一艘飞船”
DOM树
DOM树从我的理解来看就是把html和css的结构描述成树形结构,最上面是html,其次是body和head,直观的看来就是文档编写在同一列左对齐的标签可以归为同一层级的节点(这也表明,html和css编写严格按照格式规范也是有很大好处的)。
每个节点的上下层级关系用node.parentNode和node.childNode来区分,同一层级则用node.previousSibling和node.nextSibling来区分;
而节点常用的类型有两种:elements_node和text_node;那么调用形式就可以是node.firstElementChild=第一个元素子节点;node.nextElementSibling=该元素的下一个兄弟节点。文本节点同理。