前端探索 | JS编程接口

JavaScript012

前端探索 | JS编程接口,第1张

Document Object Model文档对象模型(JS用document操作网页)

Application Programming Interface应用程序接口,是一些预先定义的接口(函数,HTTP接口)

Chrome会有显示错误

自身属性:className、id、style等等

第一层 原型 HTMLDivElement.prototype :这是所有div共有的属性

第二层 原型 HTMLElement.prototype :这是所有HTML标签共有的属性

第三层 原型 Element.prototype :这是所有XML、HTML标签共有的属性

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

第五层 原型 EventTarget.prototype :里面最重要的函数属性是addEventListener

第六层 原型 Object.prototype

MDN中相关知识

创建一个标签节点

创建一个文本节点

标签里插入文本

插入页面中

创建的标签默认处于JS线程中,必须把它插入到head或者body里面才会生效, document.body.appendChild(div) 或者已在页面中的 元素.appendChild(div)

appendChild

假设页面中有div#test1和div#test2

那么div最终会出现在哪里呢?

答案:只在test2中,一个元素不能出现在两个地方,除非复制一份 node.cloneNode

如果一个node被移除页面(DOM树)那么他还可以再次回到页面中吗?

改class

改style

改style的一部分

注意大小写

改date属性

正常/特殊的读属性

(特殊)若使用

需要使用

这两种方法都可,但是值可能稍有不同

改事件处理函数

div.onclick 默认为null,默认点击div不会发生任何事,但是如果把 div.onclick 改为一个函数fn,那么点击div的时候,浏览器就会调用这个函数,并且是这样调用的 fn.call(div,event) ,div会被当做this,event则包含了点击事件的所有信息(如:坐标)

div.addEventListener 是 div.onclick 的升级版,后面会说明

查爸爸

查爷爷

查儿子

查兄弟姐妹

遍历div里面所有的元素

浏览器有渲染引擎和JS引擎

各线程各司其职。JS引擎不能操作页面只能操作JS;渲染引擎只能操作页面。

那么

这句JS是如何改变页面的呢?

跨线程通讯

当浏览器发现JS在body里面加了div1对象,就会通知渲染引擎在页面里也新增一个div元素,新增的div元素所有属性都照抄div1对象

JS线程中的所有属性叫做 div1的property

渲染引擎中div1对应标签的属性叫做 Attribute

区别

api接口指的是应用程序编程接口(Application Programming Interface),是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问原码,或理解内部工作机制的细节。

然后可以通过getElementById("id")等方法获取到html元素,再使用.innerHTML将获取到的值插入html。