BOM..

BOM,全名为Browser Object Model,翻译过来为浏览器对象模型。
DOM是将HTML文档中的各个元素封装成一个对象(Document),而BOM则是将一个浏览器的各个组成部分封装成对象(Browser)供调用使用。
下面我们就来分析BOM其中包含哪几个对象以及其中的信息吧。

Window对象:浏览器窗口对象

Navigator:浏览器对象
Screen:浏览器所处客户端的显示器屏幕对象

History:浏览器当前窗口的访问历史记录对象

Location:浏览器当前窗口的地址栏对象

 

 Window对象的属性
在BOM中,window对象就已经包含了大部分的对象,而通过对window对象的属性访问,同样可以获取到其他的BOM对象的引用。
以下是各个BOM对象通过window对象获取的方式:


 

 Location对象
location对象代表浏览器窗口中的地址栏,和window对象一样,无需特殊的创建方式,通过对象名就可使用,并调用其中的方法:
location.方法名();

或window .location.方法名();


 

 

防抖 

    在进行窗口的resize、scroll、输出框内容校验等操纵的时候,如果事件处理函数调用的频率无限制,会加重浏览器的负担,导致用户体验非常之差。那么为了前端性能的优化也为了用户更好的体验,就可以采用防抖(debounce)和节流(throttle)的方式来到达这种效果,减少调用的频率。
     函数防抖是指当一个动作连续触发,只执行最后一次。好比我们打英雄联盟或者王者荣耀的时候,比如你按下了回城键,那么在8秒钟之后,就会执行回城事件,但如果你再次按下回城键,那么回城时间又将重新计时,需要在等8秒才会执行回城事件。
函数节流是指一定时间内js方法只跑一次。好比我们打英雄联盟或者王者荣耀的时候,释放技能都有一段冷却时间,比如Q技能有5秒的冷却时间,那么我们在5秒钟的时间内只能释放一次Q技能。
      例如,都设置时间频率为500ms,在2秒时间内,频繁触发函数,节流,每隔500ms就执行一次。防抖,则不管调动多少次方法,在2s后,只会执行一次。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值