js语言的每一个值,都属于某一个数据类型,而数据类型决定了数据储存的空间大小与位置以及处理方式。
数据类型:
基本数据类型:Number、Boolean、String 、Null和ndefind。
对象数据类型:object;
检查数据类型:typeof和instanceof
一、Number数据类型
用来存储整数和小数。
var num = 1;
console.log(typeof(num));
num=12.1;
console.log(typeof(num));
控制台显示结果都为:Number。
最大值:Number.MAX_VALUE(Number最大值)
最小值:Number.MIN_VALUE(Number最小值)
console.log('Number最小值'+Number.MIN_VALUE);//Number最小值:5e-324
console.log('Number最大值'+Number.MAX_VALUE);//Number最大值:1.7976931348623157e+308
表示方法
* 十进制
* 十六进制 0X11
* 八进制 0o11
* 二进制 0b11
NaN表示not a number。其数据类型是Number
num = NaN;
console.log(typeof(num));
控制台显示结果为:Number。
二、Boolean布尔类型
Boolean数据类型和java一样只有true和false两个值。
用于接受表达式(关系和逻辑运算)
<!DOCTYPE html> <html> <head> <meta charset="{CHARSET}"> <title>Boolean布尔类型</title> </head> <body> <script type="text/javascript"> /** * true和false * 接收表达式(关系或逻辑运算) */ var tag = true; console.log(typeof(tag));//结果为:Boolean tag = false; console.log(typeof(tag));//结果为:Boolean tag =3<5; console.log(tag+":"+typeof(tag))//结果为:true:boolean </script> </body> </html>
三、String数据类型
存储连续的字符 , 相当与存储在“”和‘’中的连续字符, " "和' '没有什么区别。(建议使用'',后期使用Html中有标签使用" ",为避免混淆使用' '较好)。
大部分语法和java相同,不过js中String型可以用" "和' '表示,java的String只能用" "表示;
var name= '张三';
var adress ="中国";
console.log("姓名"+name);
console.log("地区"+adress);
console.log(typeof(name));//结果为:String
console.log(typeof(adress));//结果为:String
* 如果需要输出一些特殊的字符。
* 转义字符: \
* \t:制表符
* \n:回车
* \+字符:代表一些特殊含义的字符。
var name= '张三\'';
console.log('姓名'+name);//结果:姓名张三'
四、Null和Undefind
Undefined(默认值):声明变量,没有明确给值。返回类型:Undefined
NULL(空类型):声明变量,明确null值;返回类型:object
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Null和ndefind</title> </head> <body> <script type="text/javascript"> /* * Undefined(默认值):声明变量,没有明确给值。 * 只有一个值(Undefined),返回类型:Undefined * */ var num; console.log(num+":"+typeof(num)); /** * NULL(空类型):声明变量,明确null值; * 返回类型:object */ var num =null; console.log(num+":"+typeof(num)); /** * ==比较值 * ===比较返回类型 */ var a; var b=null; console.log(a==b); console.log(a===b); /** * Undefined和NULL不同 * null和undefined有最大的相似性。看看null == undefined的结果(true) * 也就更加能说明这点。但是null ===undefined的结果(false)。 * 不过相似归相似,还是有区别的,就是和数字运算时,10 + null结果为:10; * 10 + undefined结果为:NaN。 */ </script> </body> </html>
Undefined和NULL不同
* null和undefined有最大的相似性。看看null == undefined的结果(true)
* 也就更加能说明这点。但是null ===undefined的结果(false)。
* 不过相似归相似,还是有区别的,就是和数字运算时,10 + null结果为:10;
* 10 + undefined结果为:NaN。
五、对象数据类型:object
对象数据类型:是一种key与value组成复杂数据类型,属性和方法。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>对象类型</title> </head> <body> <script type="text/javascript"> /** * 对象数据类型:是一种key与value组成复杂数据类型,属性和方法。 */ var person = new Object(); console.log(typeof(person));//结果:object var date = new Date(); console.log(typeof(date));//结果:object var arr = new Array(); console.log(typeof(arr));//结果:object </script> </body> </html>
六、检查数据类型:typeof和instanceof
typeof:检查数据是否为基本类型或对象类型,返回值:字符串
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>数据检查类型:typeof</title> </head> <body> <script type="text/javascript"> /** * 检查数据类型 * typeof:检查数据是否为基本类型或对象类型 * 返回值:字符串 * */ var local = 10; console.log(typeof(local)); var local = '10'; console.log(typeof(local)); var local = true; console.log(typeof(local)); var local = null; console.log(typeof(local)); var local = new Object(); console.log(typeof(local)); var local = new Object(); console.log(typeof(typeof(local))); </script> </body> </html>
但是typeof不能判断对象或变量是那一种类型,我们就需要用到instanceof。
instanceof可以检查是否某种特定对象类型。 返回值:true和false。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>检查数据类型instanceof</title> </head> <body> <script type="text/javascript"> /** * typeof不能判断对象或变量是那一种类型 */ var arr = new Array(); console.log(typeof(arr)); var date = new Date(); console.log(typeof(date)); //以上两种返回类型都是object,typeof不能判断对象或变量是哪一种类型 /** * instanceof检查是否某种特定对象类型。 * 返回值:true和false。 */ var arr = new Array(); console.log(arr instanceof Array); var date = new Date(); console.log(date instanceof Date); </script> </body> </html>