BOM解读
bom概念 - browser object model:浏览器对象模型
bom的操作方法:(这里只列举比较常用)
navigator: (包含有浏览器的信息) //以前用来兼容,目前没多大用处,了解即可
-
appname //浏览器名称
-
appcodename //浏览器的代码名(内核)
-
appversion //浏览器的平台与版本
-
useragent //浏览器的整体信息
location:(包含有关当前url的信息)
-
href //获取、设置浏览器的url
-
search //获取从问号 (?) 开始的url(查询部分)。
-
hash //获取、设置url中的锚点名称
-
reload() //刷新页面
-
assign(url) //让url重新定向-跳转
-
replace(url) //使用新的url代替原来的url-跳转
history:(包含用户访问过的url)
-
back() //列表前一个url(后退)
-
forward() //列表后一个url(前进)
-
go(数字) //列表中某个具体的页面
screem:(包含客户端显示屏的信息)
-
width //屏幕宽度
-
height //屏幕高度
-
availwidth //屏幕可用宽度
-
availheight //屏幕可用高度
document:(既window.docment,window可以不写)
//这个内容比较多,涵盖方面比较广(不是我懒,真不是)
弹出层:
-
alert() //仅弹出消息
-
confirm() //弹出消息需要确认
-
prompt() //弹出输入框进行确认
浏览器的大小:
-
window.innerwidth //浏览器宽度
-
window.innerheight //浏览器高度
定时器:(异步操作)//别问我异步操作是什么,问了就是不懂、不会、不知道!
1、间隔执行:setinterval(函数,间隔的毫秒数) //其实就是一直循环执行
清除:clearinterval(定时器的返回值)
2、延迟执行:settimeout(函数,延迟的毫秒数) //其实就是只会延迟执行一次
清除:cleartimeout(定时器的返回值)
//两个定时器可以混用,cleartimeout 也可以清除间隔,clearinterval 也可以清除延时。
事件:
-
load //当文档中所有的内容加载完后再加载这个事件中的内容
-
unload //当浏览器关闭之前会触发的事件
-
resize //当浏览器大小发生改变的时候会触发
-
scroll //当滚动条发生滚动的时候会触发的事件
栈内存在执行同步代码的时候,浏览器线程中 代码的时间也在走
浏览器线程中代码只要等到自己能执行的时候,就会去队列中等待
异步代码都是在同步代码执行结束之后才从队列中拿出来执行的
同步:等待/排队/然后再执行 - 按顺序执行
异步:可以同时进行
js中所有异步代码都是在同步代码执行结束之后才执行的
事件循环: - 浏览器中的异步代码等到自己能执行的条件ok了,就会进入队列中排队等待执行,栈内存把同步代码执行完了,从队列中取一个,执行一个,再取一个,再执行一个 - 这样形成一个小循环 - 事件循环(eventloop)
//我大佬教的,看不看的懂随缘吧。反正我-不懂、不会、不知道。
学习完代码,在最后来一个小故事吧,都是以看来的,以后可能会自己写写。
加菲猫里有一段话,讲有一天,加菲猫走丢了,被卖给了一家宠物店。它怕乔恩找不到它而着急,它非常痛苦。终于有一天,乔恩走进了宠物店,看到了加菲猫,欣喜若狂,将它买回家中,结局圆满。 故事的最后那只肥猫背对着日落说了这样一句"我永远也不会问乔恩,那天他为什么会走进宠物店"