JavaScript 小知识知多少~

举报
vike 发表于 2021/11/26 10:14:42 2021/11/26
【摘要】 前言本章一起来学习一下不常用的小知识 script 小知识async 异步加载脚本 不会导致阻塞直接在标签上写async即可异步加载脚本文件不会按顺序执行charset 通过src属性指定代码的字符集defer 可以使script里的内容在文档完全被解析和显示之后执行直接在标签上使用defer就可以延迟加载脚本一个页面中最好只有一个defer 文件不会按顺序执行如果有多个脚本文件 先执...

前言

  • 本章一起来学习一下不常用的小知识

script 小知识

  • async 异步加载脚本 不会导致阻塞
    • 直接在标签上写async即可异步加载
    • 脚本文件不会按顺序执行
  • charset 通过src属性指定代码的字符集
  • defer 可以使script里的内容在文档完全被解析和显示之后执行
    • 直接在标签上使用defer就可以延迟加载脚本
    • 一个页面中最好只有一个defer 文件不会按顺序执行
    • 如果有多个脚本文件 先执行不带defer的脚本
  • language 传入编码使用的语言(已废弃)
  • src 传入引用的外部文件路径
  • typelanguage的替代属性,默认为text/javascript
 // 转义字符小知识
 // 转义字符 \
 <script>
 console.log("</script>") 
 // 报错 Uncaught SyntaxError: Invalid or unexpected token
 </script>
 // 当浏览器遇到</script>字符串 就会认为是结束的标签 需要进行转义
 console.log("<\/script>") 
  • 书写页面时 应将script标签放在body标签后面 以达到延迟加载脚本逻辑效果
// 神奇的注释
// 这种注释不建议使用 还是会被浏览器进行解析
    <script >
    <!--
	console.log("<\/script>") // </script> 
    //-->
    </script>
  • noscript 标签
    • 在浏览器不支持js的情况下 使用noscript标签可以展示提醒
    • 在正常情况下看不到内容
    <div id="app">43432423423</div>
    <noscript>浏览器不支持Js</noscript> // 关闭js解析 文字出现
    <script>
	console.log("<\/script>")
    </script>

数据类型 小知识

  • 隐式声明全局变量
let fn = ()=>{a =1}
fn() // 执行函数 隐式声明全局变量
a // 1
  • 一次声明多个变量
let a=1,b=2,c=3
a // 1
b // 2
c // 3
  • Number 类型 小知识

    • js中可以保存正0和负0
    let a = +0,b = -0
    a // 0
    b //-0
    a == b // true
    
    • 不重要的浮点自动保存为整数
    • 浮点数占用内存空间是整数的两倍 会自动转换为整数
    let a = 0.,b=2.0
    a // 0
    b // 2
    
    
    • isNaN 方法冷知识
    • isNaN 会将参数先转为number
    • isNaN 方法同时适用于Object 会先调用Object的ValueOf()方法 来确定能否转为number类型
    isNaN(1)  //false
    isNaN('string') // true 不能被转为数字
    isNaN(NaN) // true
    
    • Number() 方法
      • Number转换数字是不够合理 建议使用parseInt
    Number(0001) // 1
    Number(000013) // 13
    

总结

  • 今日份冷门小知识get~
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。