本文实例讲述了JS前端知识点总结之页面加载事件,数组操作,DOM节点操作,循环和分支。分享给大家供大家参考,具体如下:
页面加载事件的比较
window.onload jquery 中的 document.readydocument.ready = function (callback) { // 兼容FF,Google if (document.addEventListener) { document.addEventListener('DOMContentLoaded', function () { document.removeEventListener('DOMContentLoaded', arguments.callee, false); callback(); }, false) } // 兼容IE else if (document.attachEvent) { document.attachEvent('onreadystatechange', function () { if (document.readyState == "complete") { document.detachEvent("onreadystatechange", arguments.callee); callback(); } }) } else if (document.lastChild == document.body) { callback(); }}window.onload = function () { alert('onload'); // 后执行};document.ready(function () { alert('ready'); // 先执行});内部实现细节如上
数组的常用操作方法
push 从后面追加一个或多个,返回新数组的长度 unshift 从前面追加一个或多个,返回新数组的长度 pop 删除最后一个元素,返回被删除的元素 shift 删除第一个元素,返回第一个被删除的元素 concat 连接数组,返回新的数组 join 将数组转字符串,参数是分隔符,默认是分隔符是逗号”,” split 将字符串转换为数组,默认分割符是逗号 stringObject.split(separator,howmany), howmany 参数可指定返回的数组的最大长度js 的构成
ECMAScript 描述了js语法和基本对象 DOM (文档对象模型) 提供了文档结构化表示,并定义了如何通过脚本来访问文档结构 BOM (浏览器对象模型) 提供与浏览器交互的方法和接口dom 节点
标签节点 文字节点 属性节点 注释节点获取节点的方式
document.getElementById(“id”)document.getElementByTagName(“div”)document.getElementsByClassName(“classname”) ie 678 不支持document.querySelector(); // 返回第一个匹配的dom元素document.querySelectorAll(); // 返回所有dom元素匹配的集合
获取浏览器是否支持的写法如下
if(document.querySelector){ // do your business}
节点的访问
父节点(唯一):
dom.parentNode
兄弟节点 (兼容写法):
// nextSibling 和 previousSibling 是IE的写法var next = (dom.nextElementSibling) || (dom.nextSibling);var pre = (dom.previousElementSibling) || (dom.previousSibling);
孩子节点 (兼容写法):
// firstChild, lastChild 是IE的写法var first = father.firstElementChild || father.firstChild;var last = father.lastElementChild || father.lastChild;
孩子们节点:childNodes 和 children
新闻热点
疑难解答
图片精选