JavaScript 小知识知多少~
【摘要】 前言本章一起来学习一下不常用的小知识 script 小知识async 异步加载脚本 不会导致阻塞直接在标签上写async即可异步加载脚本文件不会按顺序执行charset 通过src属性指定代码的字符集defer 可以使script里的内容在文档完全被解析和显示之后执行直接在标签上使用defer就可以延迟加载脚本一个页面中最好只有一个defer 文件不会按顺序执行如果有多个脚本文件 先执...
前言
- 本章一起来学习一下不常用的小知识
script 小知识
async
异步加载脚本 不会导致阻塞- 直接在标签上写async即可异步加载
- 脚本文件不会按顺序执行
charset
通过src属性指定代码的字符集defer
可以使script里的内容在文档完全被解析和显示之后执行- 直接在标签上使用defer就可以延迟加载脚本
- 一个页面中最好只有一个defer 文件不会按顺序执行
- 如果有多个脚本文件 先执行不带defer的脚本
language
传入编码使用的语言(已废弃)src
传入引用的外部文件路径type
是language
的替代属性,默认为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
标签可以展示提醒 - 在正常情况下看不到内容
- 在浏览器不支持js的情况下 使用
<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)