文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
第十六课 HTML5 新增 JS 方法
- 新增选择器
document.querySelector()
选择单个元素document.querySelectorAll()
选择所有的document.getElementsByClassName()
通过类名选择
- 延迟加载 JS
JS
的加载会影响后面的内容加载- 很多浏览器都采用了并行加载 JS,但还是会影响其他内容
Html5
的defer
和async
defer=“defer ”
: 延迟加载,会按顺序执行,在onload
执行前被触发async =“async”
: 异步加载,加载完就触发,有顺序问题
- 浏览器兼容性:
Labjs
库
/** * 动态加载 script 文件 (推荐方法) 只需请求一次 可加载多个 JavaScript 文件,减少请求次数以及页面的加载阻塞 */ function loadScript(url,callback){ var script = document.createElement("script"); script.type = "text/javascript"; if(script.readyState){//IE script.onreadystatechange = function(){ if(script.readyState == "loaded" || script.readyState == "complete"){ onreadystatechange = null; callback(); } } }else { script.onload = function(){ callback(); } } script.src = url; document.getElementsByTagName("head")[0].appendChild(script); } loadScript("js/defer.js",function(){ console.log("加载成功"); // 加载成功回调 }); loadScript("js/async.js",function(){ console.log("加载成功"); // 加载成功回调 });
- 获取
class
列表属性classList
length
:class
的长度add()
: 添加class
方法remove()
: 删除class
方法toggle()
: 切换class
方法contains()
: 判断类名是否存在返回bool
值
JSON
的新方法parse()
: 把字符串转成json
- 字符串中的属性要严格的加上引号
stringify()
: 把json
转化成字符串- 会自动的把双引号加上
- 与
eval
的区别eval()
:对任何的字符串进行解析变成 jsparse()
:字符串中的属性要严格的加上引号
- 其他浏览器兼容
- 历史管理
onhashchange
:改变 hash 值来管理history
:- 服务器下运行
pushState
: 三个参数 :数据 标题(都没实现) 地址(可选)onpopstate
事件 : 读取数据event.state
- 服务器下运行
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论