返回介绍

第十六课 HTML5 新增 JS 方法

发布于 2024-09-07 17:46:31 字数 2656 浏览 0 评论 0 收藏 0

H5 在 JavaScript 中新增的方法一览

  • 新增选择器
    • document.querySelector() 选择单个元素
    • document.querySelectorAll() 选择所有的
    • document.getElementsByClassName() 通过类名选择
  • 延迟加载 JS
    • JS 的加载会影响后面的内容加载
      • 很多浏览器都采用了并行加载 JS,但还是会影响其他内容
    • Html5deferasync
      • 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() :对任何的字符串进行解析变成 js
      • parse() :字符串中的属性要严格的加上引号
    • 其他浏览器兼容
  • 历史管理
    • onhashchange :改变 hash 值来管理
    • history
      • 服务器下运行
        • pushState : 三个参数 :数据 标题(都没实现) 地址(可选)
        • onpopstate 事件 : 读取数据 event.state

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文