-
注意:
-
NaN的数据类型是数值
-
数组/日期/null(null的值是null)的数据类型是对象
-
未定义变量以及尚未赋值的变量的数据类型是undefined
-
空值和undefined不是一回事,空的字符串变量既有值也有类型
var car = ""; // 值是"",类型是"string"
-
null和undefined的区别:二者的值相等但是类型不相等
typeof undefined // undefined typeof null // object null === undefined // false null == undefined // true
-
-
typeof
始终会返回字符串 -
constructor属性
constructor 属性返回所有 JavaScript 变量的构造器函数
"Bill".constructor // 返回 "function String() { [native code] }" (3.14).constructor // 返回 "function Number() { [native code] }" false.constructor // 返回 "function Boolean() { [native code] }" [1,2,3,4].constructor // 返回 "function Array() { [native code] }" {name:'Bill', age:62}.constructor // 返回" function Object() { [native code] }" new Date().constructor // 返回 "function Date() { [native code] }" function () {}.constructor // 返回 "function Function(){ [native code] }"
可以通过检查
constructor
属性来确定某个对象是否为数组(看是否包含单词“Array"):function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; }
或者检查对象是否是数组函数:
function isArray(myArray) { return myArray.constructor === Array; }
-
类型转换
-
【转换为字符串】全局方法
String(x)
与数字方法x.toString()
效果相同 -
【转换为数值】使用全局方法
Number()
,如果是空的字符串,则转换为0,非数字字符串将转换为NaN
-
【自动类型转换】如果JavaScript尝试操作一种”错误“的数据类型,它会试图将该值转换为”正确“的类型
5 + null // 返回 5 因为 null 被转换为 0 "5" + null // 返回 "5null" 因为 null 被转换为 "null"
-
【自动字符串转换】JavaScript自动调用变量
toString
函数,当你试图”输出“对象或变量时:document.getElementById("demo").innerHTML = myVar; // 如果 myVar = {name:"Fjohn"} // toString 转换为 "[object Object]" // 如果 myVar = [1,2,3,4] // toString 转换为 "1,2,3,4"
注意:
Boolean([]) // 返回true
-
JavaScript数据类型
最新推荐文章于 2021-09-02 20:52:38 发布