前端面试---DOM、BOM

DOM的数据结构?

DOM的常用API?

  • 获取元素节点
    getElementById(“id”) //通过id获取
    getElementsByTagName(“标签名”) //通过标签获取
    getElementsByName(“name”) //通过name属性获取
    getElementsByClassName(“class”) //通过类名获取
    querySelector(“一个选择器”) //通过选择器获取
    querySelectorAll(“多个选择器”) //通过选择器获取

  • 创建元素节点
    createElement("") //创建一个节点
    createTextNode("") //创建文本内容
    createDocumentFragment() //创建文档片段
    createComment("") //创建注释

  • 操作元素节点
    添加节点:appendChild()
    替换节点:replaceChild()
    插入节点:insertBefore()
    删除节点:removeChild()

DOM的arrtibute和property的区别?

  • attribute是对html标签属性的获取和修改 【针对html】
  • property只是一个JS对象的属性的获取和修改【针对js对象】

检测浏览器的类型?

  • navigator.userAgent

拆解url的各部分?

  • location.href //整个url
  • location.protocal //协议
  • location.host //域名
  • location.pathname //路径
  • location.hash //锚点
  • location.search //参数部分

定时器?

  • 单次定时:setTimeout()
  • 循环定时:setInterval()
  • 清除定时器:clearTimeout()和clearInterval()

编写一个通用的事件监听函数?

  • IE9+及其它主流浏览器:addEventListener()
  • IE6-IE8:attachEvent()
// 事件监听函数
<script>
   addHandler(element,type,handler){
   	if(element.addEventListener){
   		element.addEventListener(type,handler,false);
   	}elae if(element.attachEvent){
   		element.attachEvent('on'+type,handler);
   	}else{
   		element['on'+type] = handler;
   	}
   }
</script>

简述事件冒泡流程?

  • 依据DOM树形结构向上冒泡
  • 向上冒泡
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值