导图社区 BOM
物料清单(Bill of Material,Bom),采用计算机辅助企业生产管理,首先要使计算机能够读出企业所制造的产品构成和所有要涉及的物料,为了便于计算机识别,必须把用图示表达的产品结构转化成某种数据格式,这种以数据格式来描述产品结构的文件就是物料清单,
JavaSE-JavaEEDB思维导图,包括:Spring、Hibernate框架、struts2框架、js+jquery+ajax、JSP、Servlet(后期补充)、HTTP协议。
Java SE知识思维导图,包括:Java基础语法、Java OOP编程、Java高级特性、JDK8、Eclispe等内容。
Java知识思维导图,包括:1、Java环境及配置;2、语法、数据类型及表达式;3、结构化程序设计;4、数组与字符串;5、类和对象。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
BOM
专门操作浏览器窗口的API
没有标准
何时使用
只要操作浏览器的窗口或访问浏览器的属性
对象模型
window
2个角色
代替ES标准中的Global充当全局对象
封装当前浏览器的属性和配置信息,并提供操作浏览器窗口的API
history
保存当前窗口打开后,访问的所有url历史记录栈
决定是否可前进/后退
前进/后退
history.go(n)
n为正,则前进n步
n为负,则后退
刷新
history.go(0)
location
封装当前窗口打开的url地址的对象
修改location可在当前窗口打开新页面
location="url"
location.href="url"
location.assign("url")
都相当于在history中增加一个url记录,允许后退
在当前窗口打开,禁止后退
替换history中当前url,不新建url
location.replace("url")
重新加载当前页面
location.reload(/*true*/)
不写true,默认如果当前文档下载后,服务器上的文件没有被修改过,则直接从缓存中获取页面
只有下载后,服务器上的文件被修改了,才重新去服务器硬盘获取新文件
写true
无论文件是否更改,都重新获取服务器硬盘上的新文件
效率低
document
DOM
screen
封装当前操作系统桌面信息的对象
比如分辨率
完整分辨率
screen.height/width
可用分辨率
去掉任务栏所占空间后的剩余空间
screen.availHeight/availWidth
通过screen大小,可用于区分客户端设备的种类
作业:不同种设备间的临界值
navigator
封装浏览器配置信息的对象
navigator.cookieEnabled
判断当前浏览器是否启用cookie
navigator.plugins
封装浏览器安装的所有插件的集合
何时使用:
判断浏览器是否支持特定插件
如何判断是否支持某个插件
遍历plugins结合中每个插件对象,比较插件对象的name属性
navigator.userAgent
封装了浏览器名称,版本等信息的字符串
判断浏览器名称和版本时使用
如何使用
if(userAgnet.indexOf("浏览器名称"))
作业: 查找使用userAgent获得浏览器名称和版本的方法
window对象本身的API
打开和关闭窗口
总结打开超链接的方式
1. 在当前窗口打开,可后退
html
<a href="url"></a>
js
open("url","_self")
2. 在当前窗口打开,禁止后退
location.replace("url");
3. 在新窗口打开,可打开多个
<a href="url" target="_blank"></a>
open("url")
第二个参数默认为_blank
4. 在新窗口打开,只能打开一个
原理
每个窗口对象都有一个name属性
浏览器规定同一name属性的窗口,只能打开一个
其实html中的target属性值和open方法的第二个参数都是窗口的name属性
<a href="url" target="name"></a>
open("url","name")
对话框
alert()
confirm()
确认框
用户可以选择取消,还是确定
返回值
如果用户选取消,返回false
如果用户选确定,返回true
prompt
***定时器
让程序每隔一段时间间隔反复执行一项任务
周期性定时器
让程序每隔一段时间间隔自动反复执行一项任务
只要一项任务,反复自动执行时
三步
***1. 定义放入定时器的任务函数
2. 启动定时器
timer=setInterval(任务函数对象,时间间隔)
启动定时器时,会返回定时器的序号timer
默认从1开始,每启动一个新定时器,就增1
停止定时器时,只能使用序号停止!
所以,启动定时器时,都要将序号保存在全局变量或对象的属性中反复使用
任务函数对象不加()
任务函数作为回调函数传递给定时器,而不是立刻执行
其实任务函数可使用匿名函数function(参数){xxx}
时间间隔的单位是毫秒
3. 停止定时器
clearInterval(timer)
好的习惯,再加一句
timer=null
启动定时器时
将任务函数对象交给定时器模块保存
每个任务函数都有一个序号
运行中
定时器模块,根据设定的事件间隔,将任务函数加入等待队列callback queue
等到ECS中所有函数调用结束后,空闲时,才能从callback queue中取出回调函数执行
关闭定时器
将要关闭的任务序号,交给定时器模块,删除任务
一次性定时器
让程序先等待一段时间,再执行一次任务,然后自动停止
一项任务,需要先等待,再执行一次时
一次性定时器的用法和原理同周期性定时器
所以,周期性定时器能实现的,一次性定时器也可以实现
启动: timer=setTimeout(任务函数,时间间隔)
停止: clearTimeout(timer)
区别:
周期型定时器任务函数结尾
如果达到临界值,就停止定时器clear
一次性定时器任务函数结尾
如果没有到临界值,就继续启动下一次一次性定时器
鄙视题:
for(var i=0;i<3;i++){ setTimeout("console.log(i)",10); }
Event对象1511A DOM最后一天的笔记
事件周期
捕获->目标触发->事件冒泡
IE8
目标触发->事件冒泡
事件绑定
事件API
事件对象
取消冒泡
利用冒泡
获得目标对象
取消事件
鼠标坐标
相对于屏幕的坐标
相对于浏览器窗口的坐标
相对于父容器的坐标