javascript必会知识及面试重点( 二 )


这样不管是点击的哪一个后代元素,都会根据冒泡传播的传递机制,把父容器的click事件触发,然后把对应的方法执行,根据事件源,
我们可以知道点击的是谁,从而完成不同的事情
a标签的各种属性都可以获取到,取需要的数据就可以了使用代理的优点

  • 代码简洁
  • 减少浏览器的内存占用
BOM操作BOM(浏览器对象模型)是浏览器本身的一些信息的设置和获取,例如获取浏览器的宽度、高度、设置让浏览器跳转哪个地址
  1. window.screen 对象,包含有关屏幕的信息
  2. window.location对象,用户获取当前地址的url,并把浏览器定向到新的页面
  3. window.history对象,浏览历史的前进后退
  4. window.navigator对象,常常用来获取浏览器信息,是否移动端访问
获取屏幕的宽高
window.widthwindow.height获取网址,协议,path,参数,hash等
// 例如当前网址是 https://juejin.im/timeline/frontend?a=10&b=10#someconsole.log(location.href) // https://juejin.im/timeline/frontend?a=10&b=10#someconsole.log(location.protocol) // https:consloe.log(location.pathname) //timeline/frontendconsloe.log(location.search) //?a=10&b=10consloe.log(location.hash) // #some浏览器的前进后退
history.back()history.forward()获取浏览器的特性,然后识别客户端,例如判断是不是chrom浏览器
var ua = navigator.userAgentvar isChrom = ua.indexOf('Chrom')console.log(isChrom)



推荐阅读