1、typeof 查看数据类型
可以返回number,string,Boolean,object,undefined,function
<!DOCTYPE html>
<html lange = "en">
<head>
<meta charset="UTF-8">
<title>js之 </title>
</head>
<body>
<h1>js之 </h1>
<script type="text/javascript">
var num = 12;
console.log(typeof(num));
</script>
</body>运行结果如下:
注意如下几个数据类型的输出
<!DOCTYPE html>
<html lange = "en">
<head>
<meta charset="UTF-8">
<title>js之数据类型 </title>
</head>
<body>
<h1>js之数据类型 </h1>
<script type="text/javascript">
var num = 12
console.log(typeof(num))
var num = {}
console.log(typeof(num))
var num = []
console.log(typeof(num))
var num = null //null的数据类型:object
console.log('null的数据类型:' + typeof(num))
var num = undefined //undefined的数据类型:undefined
console.log('undefined的数据类型:' + typeof(num))
// var str = '2'
// console.log(typeof(str))
// console.log(typeof(num+str))
// console.log(typeof(num-str))
// console.log(typeof(num*str))
// console.log(typeof(num/str))
// console.log(typeof(num%str))
</script>
</body>2、数据转换
显示数据类型转换和隐式数据类型转换
隐式数据类型转换
注意加减乘除的数据类型转换,只有加法转换成字符串,其他的都转换成数字进行运算。
结果为:
显示数据转换之Number 注意首字母大写
全局方法 Number() 可以将字符串转换为数字。
字符串包含数字(如 "3.14") 转换为数字 (如 3.14).
空字符串转换为 0。
其他的字符串会转换为 NaN (不是个数字)。
运行结果为:
parseInt 转换成整数
注意
1、可以将字符串转换为整数
2、可以将小数掉小数点后边的数字,转换为整数
3 可以将数字和字符串合并的字符串转换为整数
4、可以将其他进制的数据转换为10进制的整数
结果为
parseFloat
parseFloat() 函数可解析一个字符串,并返回一个浮点数。
该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。
注释:开头和结尾的空格是允许的。
提示:如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。
运行结果为:
String
转换为字符串
Boolean
转换为布尔值
toString
转换为字符串函数,区别是(1)用法不同,(2)undefined不能用,(3)可以进行数字进制转换,如demo=10,demo.toSting(8) 转换为8进制12
3 隐式类型转换
隐式类型转换内部调用的都是现实类型转换的方法。
isNaN()
isNaN() 函数用于检查其参数是否是非数字值。
如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。
<!DOCTYPE html>
<html lange = "en">
<head>
<meta charset="UTF-8">
<title>js之隐式类型转换 </title>
</head>
<body>
<h1>js之隐式类型转换 </h1>
isNaN() 函数用于检查其参数是否是非数字值。
<br>
如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false
<script type="text/javascript">
console.log("查看NaN是否是NaN:" + isNaN(NaN)); //查看NaN是否是NaN
console.log("查看字符NaN是否是NaN:" + isNaN('NaN')); //查看字符NaN是否是NaN
console.log("查看123是否是NaN:" + isNaN(123)); //查看123是否是NaN
console.log("查看字符123是否是NaN:" + isNaN("123"));//查看字符123是否是NaN
console.log("查看字符abc是否是NaN:" + isNaN("abc"));//查看字符abc是否是NaN
console.log("查看null是否是NaN:" + isNaN(null));
console.log("查看undefined是否是NaN:" + isNaN(undefined));
</script>
</body>注意,+和其他的隐式转换不同,其他四则运算都是转换为数字,只有+转换为字符,其他的是有数字的运算先转换为数字
<!DOCTYPE html>
<html lange = "en">
<head>
<meta charset="UTF-8">
<title>js之隐式转换 </title>
</head>
<body>
<h1>js之隐式转换 </h1>
<script type="text/javascript">
var a = '123' ;
a ++ ;
var b = 'abc' ;
b ++ ;
var c = 321 ;
c = "123" + c ;//结果为“123321”
var d = 1 == true
console.log(d + " : " + typeof(d))
var e = 1 == "1"
console.log(e + " : " + typeof(e))
</script>
</body>结果为













