1、JavaScript中如何检测一个变量是一个 String 类型?
typeof 变量
变量.constructor === String
Object.prototype.toString.call(变量) // 推荐使用
2、javascript 的 typeof 返回哪些数据类型(至少六个)检测类型如下:
string number boolean undefined
object function symbol(ES6之后新增的类型)
3、如何判断变量为NaN
通过isNaN()判断
isNaN(NaN) // 返回true
isNaN(1000) // 返回false
isNaN('小明') // 返回true(判断前会转换成number类型)
isNaN('101') // 返回false
4、什么是JS变量提升 与 块级作用域
变量提升:就是会把变量定义提升到当前作用域的最上面
5、块级作用域
JS 中作用域有:全局作用域、函数作用域。没有块作用域的概念。
ES6中新增了块级作用域。块作用域由 { } 包括,if 语句和 for 语句里面的{ }也属于块作用域。
在外边不能调用块作用域里边定义的变量</