一、什么是BOM?
浏览器对象模型
二、BOM中的顶级对象是什么?
window
三、window下有哪些子对象?
document location history navigator frames screen
四、如何实现跳转页面?
window.location
location.href
五、如何刷新页面?
location.reload([true])
history.go(0)
六、window下方法
1. alert() : 警告框
2. confirm() : 选择框
3. prompt() : 提示输入框
4. open() : 打开一个新窗口
5. close() : 关闭当前窗口
七、计时器(延时器、定时器)
间歇性计时器: setInterval(函数,毫秒数) clearInterval()
一次性计时器: setTimeout(函数,毫秒数) clearTimeout()
八、什么是DOM?
文档对象模型
九、如何获取页面元素对象?
1. document.getElementById() 返回对象,失败,返回null
2. document.getElementsByTagName() 返回伪数组
3. document.getElementsByClassName() 返回伪数组,IE9以下不兼容
function byClassName(obj,className){
if(obj.getElementsByClassName){
return obj.getElementsByClassName(className);
}else{
var arr = [];
var eles = obj.getElementsByTagName(‘*‘);
for(var i = 0,len = eles.length;i < len;i ++){
if(eles[i].className === className){
arr.push(eles[i]);
}
}
return arr;
}
}
4. document.getElementsByName()
5. document.querySelector() //IE8以下不兼容 返回对象
6. document.querySelectorAll() //IE8以下不兼容
7. document.documentElement //html
8. document.body //body
十、如何创建节点对象?
1. 元素节点对象: document.createElement()
2. 文本节点对象: document.createTextNode()
3. 文档碎片: document.createDocumentFragment()
十一、 如何修改节点对象
父节点.replaceChild(new,old)
十二、如何删除节点对象?
1. 父节点.removeChild(子节点)
2. 节点.remove()
十三、如何克隆节点对象?
节点.cloneNode([true])
十四、如何追加子节点?
父节点.appendChild(子节点)
十五、常见节点及节点属性
nodeName nodeType nodeValue
元素节点: 元素名 1 null
属性节点: 属性名 2 属性值
文本节点: #text 3 文本内容
十六、滚动事件
onscroll
//垂直
document.documentElement.scrollTop || document.body.scrollTop
//水平
document.documentElement.scrollLeft || document.body.scrollLeft