面试题: 延迟加载JS有哪些方式?
延迟加载:async、defer例如:<script defer type="text/javascript"src='script.js'></script>
defer:等html全部解析完成,才会执行js代码,顺次执行js脚本。
async:async是和html解析同步的(一起的)不是顺次执行js脚本(谁先加载完谁先执行)。
面试题:JS数据类型有哪些?
基本类型:string、number、boolean、undefined、null、symbol、bigint
引用类型:object
NaN是一个数值类型,但是不是一个具体的数字。
面试题:null和undefined的区别
1.作者在设计js的都是先设计的null(为什么设计了null:最初设计js的时候借鉴了java的语言)
2.null会被隐式转换成0,很不容易发现错误。
3.先有null后有undefined,出来undefined是为了填补之前的坑。
据C语言的传统,null被设计成可以自动转为0。但是,JavaScript的设计者,觉得这样做还不够,主要有以下两个原因。1.null像在Java 里一样,被当成一个对象。但是,JavaScript 的数据类型分成原始类
型(primitive)和合成类型(complex)两大类,作者觉得表示"无"的值最好不是对象。2.JavaScript 的最初版本没有包括错误处理机制,发生数据类型不匹配时,往往是自
动转换类型或者默默地失败。作者觉得,如果null自动转为0,很不容易发现错误。因此,作者又设计了一个undefined。这里注意:先有null后有undefined,出来undefined是为了填补之前的坑。
JavaScript的最初版本是这样区分的:null是一个表示"无"的对象(空对象指针),转
为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。
面试题:JS数据类型考题
typeof
面试题:== 和 === 有什么不同
== :比较的是值string == number 丨l boolean 丨丨 number .·..都会隐式转换valueOf()方法通常由JavaScript在后台自动调用,并并不显式地出现在代码中。=== : 除了比较值,还比较类型
valueOf()方法返回Math对象的原始值。
该原始值由Math对象派生的所有对象继承。
valueOf方法通常由JavaScript在后台自动调用,并并不显式地出现在代码中。