JavaScript 小知识知多少~

本文介绍了JavaScript中的一些不常用但实用的知识点,包括script标签的async和defer属性实现异步加载和延迟执行,字符转义避免语法错误,以及Number类型的特性。还探讨了隐式声明全局变量、批量声明变量、浮点数处理和isNaN方法的使用。此外,noscript标签在浏览器不支持JavaScript时的作用也进行了说明。
摘要由CSDN通过智能技术生成

theme: scrolls-light

highlight: a11y-dark

这是我参与11月更文挑战的第3天,活动详情查看:2021最后一次更文挑战

前言

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

script 小知识

  • async 异步加载脚本 不会导致阻塞
    • 直接在标签上写async即可异步加载
    • 脚本文件不会按顺序执行
  • charset 通过src属性指定代码的字符集
  • defer 可以使script里的内容在文档完全被解析和显示之后执行
    • 直接在标签上使用defer就可以延迟加载脚本
    • 一个页面中最好只有一个defer 文件不会按顺序执行
    • 如果有多个脚本文件 先执行不带defer的脚本
  • language 传入编码使用的语言(已废弃)
  • src 传入引用的外部文件路径
  • typelanguage的替代属性,默认为text/javascript

js // 转义字符小知识 // 转义字符 \ <script> console.log("</script>") // 报错 Uncaught SyntaxError: Invalid or unexpected token </script> // 当浏览器遇到</script>字符串 就会认为是结束的标签 需要进行转义 console.log("<\/script>") + 书写页面时 应将script标签放在body标签后面 以达到延迟加载脚本逻辑效果

js // 神奇的注释 // 这种注释不建议使用 还是会被浏览器进行解析 <script > <!-- console.log("<\/script>") // </script> //--> </script> + noscript 标签 - 在浏览器不支持js的情况下 使用noscript标签可以展示提醒 - 在正常情况下看不到内容 js <div id="app">43432423423</div> <noscript>浏览器不支持Js</noscript> // 关闭js解析 文字出现 <script> console.log("<\/script>") </script>

数据类型 小知识

  • 隐式声明全局变量

js let fn = ()=>{a =1} fn() // 执行函数 隐式声明全局变量 a // 1 + 一次声明多个变量

js let a=1,b=2,c=3 a // 1 b // 2 c // 3 + Number 类型 小知识 - js中可以保存正0和负0

```js
let a = +0,b = -0
a // 0
b //-0
a == b // true
```
- 不重要的浮点自动保存为整数
- 浮点数占用内存空间是整数的两倍 会自动转换为整数

```js
let a = 0.,b=2.0
a // 0
b // 2

```
- isNaN 方法冷知识
- isNaN 会将参数先转为number
- isNaN 方法同时适用于Object 会先调用Object的ValueOf()方法 来确定能否转为number类型
```js
isNaN(1)  //false
isNaN('string') // true 不能被转为数字
isNaN(NaN) // true
```
- Number() 方法
    - Number转换数字是不够合理 建议使用parseInt
```js
Number(0001) // 1
Number(000013) // 13
```

总结

  • 今日份冷门小知识get~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值