一、延迟加载 JS 有哪些方式
延迟加载 : async、defer
例如:
defer : 等html全部解析完成,才会执行js代码,顺次执行js 脚本
async: asyc 是和 html 解析同步的 (一起的),不是顺次执行 js 脚本 (谁先加载完谁先执行)
二、JS 数据类型有哪些
基本类型: String、Number、Boolean、Undefined、Null、Symbol、BigInt
引用类型:Object
NaN 是一个数值类型,但是不是一个具体的数字
alert(true + 1); // 2
alert("name" + true); // nametrue 字符串和其他类型 相加,变成连接的形式
alert(undefined + 1); // NaN
alert(typeof null); // Object
alert(typeof(NaN)); // Number
alert(typeof(undefined)); // undefined
alert(typeof(null)); // Object
三、Null 和 Undefined 的区别
1、作者在设计 JS 的都是先设计的 Null (为什么设计了Null:最初设计 JS 的时候借鉴了 java语言)
2、Null 会被隐式转换成 0,很不容易发现错误
3、先有null 后有 undefined,出来undefined 是为了填补之前的坑
具体区别:JavaScript 的最初版本是这样区分的,:Null 是一个表示“无”的对象(空对象指针),转换为数值时为 0;undefined 是一个表示“无”的原始值,转换为数值时为NaN
四、== 和=== 有什么不同
== : 比较的是值
string == number || boolean || number …都会隐式转换
通过 valueOf 转换 (valueOf ()) 方法通常会 JavaScript 在后台自动显示,并不显示的出现在代码中。
===: 除了比较值,还比较类型