API

mac2022-06-30  72

第四天笔记 API接口

BOM

brower object model的缩写 浏览器对象模型

主要是用来和浏览器交互的对象

BOM主要是和浏览器窗口进行交互,所以BOM当中的核心对象——window对象。Tip:只要宿主环境是浏览器,那么最高等级的对象,就是window。 js组成: ECMA语法准则(ECMA)BOM(网景领航者浏览器的一部分) DOM(W3C)

window 对象

宿主环境为浏览器时,所有的对象其实都是延伸自window对象。 由于window对象处于js对象的最顶层,所以说很多时候我们在使用window对象方法的时候可以减肥window省略。 在全局的情况下,任何一个全局函数或者全局的变量都可以说成是window的方法和属性、

介绍window对象是BOM当中的核心对象。所有的对象都是通过它延申而出,也可以说其他的对象都是window对象的子对象。 由于window对象处于对象的最顶层,所以再调用的过程中可以选择不去知名window对象

document.write('hello,world'); alert(123) //也可以写成 window.document.write('hello,world'); window.alert(123);

也可说,任何一个全局函数或者变量都是window的属性。

var a = 10; alert(window.a);

属于window的子对象document 对象 frames 对象 history 对象 location 对象 navigator 对象 screen 对象

window对象当中的常用方法

窗口控制函数moveBy()

<input type="button"value="点击移动"onclick="window.moveBy(0,-5)">

Tip:ie有效果moveTo()

<input type="button"value="点击移动"onclick="window.moveTo(0,-5)">

Tip:ie有效果resiezeBy()

<input type="button"value="点击移动"onclick="window.resizeBy(50,50)">

Tip:ie有效果resizeTo()

<input type="button"value="点击移动"onclick="window.resizeTo(50,50)">

Tip:ie有效果scrollTo() 在窗口中如果有滚动条,将横向滚动条移动到相对于窗体宽度为x个像素的位置,将纵向滚动条移动到相对于窗体高度为y个像素的位置

<input type="button"value="点击移动"onclick="window.scrollTo(50,50)"><div style="width: 1000px;height: 1000px;"></div>

Tip:谷歌和IE都可以执行。scrollBy() 如果有滚动条,将横向滚动条移动到相对于当前横向滚动条的x个像素的位置(就是向左移动x像素),将纵向滚动条移动到相对于当前纵向滚动条高度为y个像素的位置(就是想下移动y像素)

<input type="button"value="点击移动"onclick="window.scrollBy(1,1)"> <div style="width: 1000px;height: 1000px;"></div>

focus() 使窗体或者控件获得焦点。

<input type="text"id="text"> <input type="button"onclick="javascript:document.all.text.focus()"value="click">

blur() 是控件失去焦点。

<input type = "text" id = "text" onclick = "blur()">

open() 打开一个网页

window.open('http://www.baidu.com');

window对象其他常用方法

alert()显示带有一段消息和一个确认按钮的警告框。 confirm()显示带有一段消息以及确认按钮和取消按钮的对话框。 prompt()显示可提示用户输入的对话框。 setinterval()按制定的周期(以毫秒计)来调用函数或计算表达式。 setTimeout()在指定的毫秒数后调用函数或计算表达式。 clearInterval()取消由setinterval()设置的timeout。 clearTimeout()取消由setTimeout()方法设置的timeout。

window对象常用属性

innerHeight 返回窗口的文档显示区的高度。 IE9+ innerWidth 返回窗口的文档显示区的宽度。 IE9+ outerHeight 返回窗口的外部高度。 IE9+ overWidth 返回窗口的外部宽度。 IE9+

history 对象

history.go()前进或后退 history.back()后退一页 history.formard() 前进一步

location 对象

当前对象主要用于获取或者设置窗口的url,并且可以用于解析url。

JavaScript hash 属性--返回URl中#符号后面的内容 JavaScript host 属性--返回域名 JavaScript hostname 属性--返回主域名 JavaScript href 属性--返回当前文档的完整URl或设置当前文档的URl JavaScript pathname 属性--返回URl中域名后的部分 JavaScript port 属性--返回URl中的端口 JavaScript protocol 属性--返回URl中的协议 JavaScript search 属性--返回URl中的查询字符串 JavaScript assign() 函数--设置当前文档的URl JavaScript replace() 函数--设置当前文档的URl,并在history对象的地址列表中删除这个URl JavaScript reload() 函数--重新载入当前文档(从server服务器端) JavaScript toString() 函数--返回location对象href属性当前的值

http://www.baidu.com/index.html?wd=shanghai&name=waxt多个属性参数用&拼接

当前对象主要用于查看浏览器与操作系统信息。 常用属性: appCodeName浏览器相关内容用字符串表示 appName官方浏览器的名字的字串符表示 appVersion浏览器信息版本 cookieEnabled检查cookie功能是否启用,如果启用true platform显示的是浏览器所在的系统平台信息 plugins安装浏览器当中的插件数组 userAgent(使用频率高)用户代理头 比较常用userAgent、cookieEnabled navigator中最重要的是userAgent属性,返回包含浏览器版本等信息的字符串,其次cookieEnabled也很重要,使用它可以判断用户浏览器是否开启cookie。

screen 对象

用于获取屏幕信息 width 屏幕分辨率的宽度 height 屏幕分辨率的高度

availWidth 窗口可以使用的屏幕宽度 availHeight 窗口可以使用的屏幕高度

常用属性:

JavaScript availHeight属性--窗口可以使用的屏幕高度,单位像素 JavaScript availWidth属性--窗口可以使用的屏幕宽度,单位像素 JavaScript colorDepth属性--用户浏览器表示的颜色位数,通常为32位(每像素的位数) JavaScript pixelDepth属性--用户浏览器表示的颜色位数,通常为32位(每像素的位数)(IE不支持此属性) JavaScript height属性--屏幕的高度,单位像素 JavaScript width属性--屏幕的宽度,单位像素

DOM 对象

Document object Madel 文档对象模型 主要用来操作html 和 xml 文档内容的基础API。

json(所有的json对象都是字符串) { "status":"ok", "message":"登陆成功" }

文本对象模型,是w3c推荐的处理扩展语言的标准编程接口

DOM 分级:

1级 DOM 1998年10月份提出 , 1级DOM有两部分组成,DOM核心(操作xml)、DOM HTML(操作html) 两部分 2级 DOM 增加了鼠标、用户界面、如何遍历元素、如何范围查找元素等以及随css操作的支持 3级 DOM 引入了一个新的模块:DOM的载入和保存

DOM 树

有不同的网页标签构成的网页整体称之为DOM树。

节点(网页里面的一切内容)-----//标签属于节点,但节点不属于标签节点之间的关系: ---父子关系 ---兄弟关系节点之间的分类:Document document文档 (代表他的是“9”)DocumentType doctype html (10)Element element 元素 彻头彻尾的标签 (1)Attribute attr 属性 (2)Text text 文本内容 (3)Comment comment 注释 (8)DocumentFragment DocumentFragment (11)

如何获取节点:

通过id名找到元素节点: document.getElementByID('id'); 如何传入多个id值,一次性找到多个元素?

通过指定标签名来获取节点

document.getElementsByTagName()

通过传入一个,那么可以找到所有标签 document.getElementsByTagName("");

通过类名获取元素

document.getElementsByClassName('class值');

通过name来获取元素

document.getElementsByName("name值");通过标签的name属性来获取元素 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <div> <ul> <li>aaa</li> <li>aaa</li> <li>aaa</li> <li>aaa</li> <li>aaa</li> <li>aaa</li> </ul> </div> </body> <script> var divs= document.getElementsByTagName('div')[0]; console.log(divs) </script> </html>

通过css选择器来选择元素(不是实时的)

document.querySelectorAll('#id名'); document.querySelectorAll('.class名'); 例如: <div class="d1" id="box"></div> document.querySelectorAll('#box'); querySelectorAll()非常看重执行时机,在执行之前的内容都可以获取,但是执行之后的内容将没办法获取。 :link :visited也会失效,浏览器会禁止使用。 通过节点之间的关系来访问元素 子父级关系 parentNode 兄弟节点 下一个兄弟节点 nextSibling ie 678支持的 nextElementSibling 上一个节点 previousSibling ie 678支持的 previousElementSibling 兼容写法: var a = info.nextElementSibling || info.nextSibling 选取子节点 firstChild 第一个子元素 ie 678认识 firstElementChild 第一个子元素 其他浏览器认识 lastChild 最后一的子元素 ie 678认识 lastElementChild其他浏览器认识 childNodes 选取全部的子元素,但不推荐使用 children 选取全部子元素 更好用 tip:会把注释也当节点

节点的常规操作

创建节点

document.createElement() info.innerHTML

插入节点

appendChild() 将节点插入到元素的最后面 inserBefore(插入节点,参照节点) 如果第二个参数为null,则默认把要插入的节点插入到容器的最后面

删除

removeChild()移除子节点

克隆节点

cloneNode()复制节点 如果说在cloneNode()括号内传入一个true,则为深克隆,如果没有传入参数,则默认为flase即是浅克隆。

DocumentFragment

是一个特殊的节点,属于临时容器。 document.createDocumentFragment()创建一个临时容器 不是与任何节点的子节点,是一个独立的节点,如果查看parentNode,结果为Null1

转载于:https://www.cnblogs.com/xuangewudishuaiqi/p/11432362.html

最新回复(0)