怎么判断变量类型
JavaScript的变量类型:usonb
-
ES5中 undefined string obiect null number boolean
-
ES6新增Symbol
-
谷歌67版本中还出现了bigInt(但是多数人不把这个当作一个类型)
**注意:**NaN是Number中的特殊数值,不是Number类型 -
JS的引用类型有哪些?
Object(Object包含了Data,function,Array,Null等) -
JS中的typeof输出分别是什么?
基本类型输出对应类型
Null–>Object
NaN–>Number
{},[]—>object -
isNaN():用来判断是否是非数值类型
基本上除了自身NaN返回true,其他都flase。以下2种特殊
isNaN(1) //false
isNaN(‘1’) //false 将’1‘进行了转换
isNaN(‘1,2’) //true
Number.isNaN(‘1,2’) //falseNumber(‘as’) //NaN
Number(‘as’) == NaN //false
isNaN(Number(‘as’)) //true
Number.isNaN(Number(‘as’)) //true
123/0 //Infinity
typeof 123/0 //NaN
123/0 == NaN //false
isNaN(123/0) //false
-
判断是否是数字?
typeof(n) == “number” && n != Infinity && !isNaN(n) -
如何判断数据类型?
1.typeof
2.toString()
null,undefined 不支持
3.判断数组
instanceof,constructor,Array.isArray()
1 instanceof Number //false String一样返回flase
“1”.constructor == String //true -
对象可以比较吗?
可以,Object.is(value1,value2)