数据类型
数据类型 – 表示数值的类型
类型的分类
原始类型
number类型(数字类型)
- number类型分为整数和浮点数
- 整数 – 正整数 、0 、负整数
/* 变量为数字类型 - 整数 */
var num1 = 1001;
console.log( num1 );// 显示:1001
- 浮点数 – 小数
/* 变量为数字类型 - 浮点数 */
var num2 = 10.01;
console.log( num2 );// 显示:10.01
浮点数在小数点前面如果 没有数字,会被默认为在小数点前的数字为 0
- 比如:“.1” 会显示 “0.1”
/* 浮点数的类型 */
var num3 = .1;
console.log( num3 );// 显示:0.1
浮点数在小数点后面如果 没有数字 或 数字只有 0 ,会被默认为没有小数
- 比如:“1.” 会显示 “1” 或 “1.0” 会显示 “1”
/* 浮点数的类型 */
var num4 = 1.0;
console.log( num4 );// 显示:1
浮点数在进行计算时可能会出现误差
- 解决方法:可以先将小数转成整数计算,再将结果转回小数
/* 浮点数的计算 */
var num5 = 0.7, num6 = 0.3;
console.log( num5 - num6 );// 显示:0.39999999999999997
/* 解决方法 */
console.log( (num5*10 - num6*10)/10 );// 显示:0.4
number类型中的特殊值 – NaN
- NaN – 表示当前的值不是一个数字
- NaN依旧是number类型
/* number类型的特殊值 - NaN */
var num7 = Number( '啊哈哈哈' );// 将一个文本内容转换成number类型
console.log( num7 );// 显示:NaN - 表示当前的值不是一个数字值
- NaN与任何值都不相等,包括它本身
console.log( 10 == 10 );// 显示:true - 表示相等
console.log( 10 == NaN );// 显示:false - 表示不相等
console.log( NaN == NaN );// 显示:false - 表示不相等
number类型中的特殊值 – Infinity -> 表示无穷大
- 当数字值进行计算 0 做为被除数时,会得到 无穷大
/* 数字值进行计算 */
var num8 = 10/0;
console.log( num8 );// 显示:Infinity
string类型(字符串类型)
- 字符串 – 表示以单引号或双引号包裹的字符
- 字符串中的字符可以是 汉字 、字母 、 数字
/* 定义变量 - string类型 */
var str1 = '苍天呐';// 汉字值
console.log( str1 );// 显示:苍天呐
var str2 = "wodetianna";// 字母值
console.log( str2 );// 显示:wodetianna
var str3 = '100';// 数字值
console.log( str3 );// 显示:100
boolean类型(布尔类型)
布尔类型只有两个值
- true – 是 、真
- false – 否 、假
/* 定义变量 - boolean类型 */
var boo1 = true;
console.log( boo1 );// 显示:true
var boo2 = false;
console.log( boo2 );// 显示:false
undefined类型
- undefined类型 – 表示变量的值为空
- 当变量的值等于undefined时 – 表示变量存在,但是没有值
得到undefined的情况
- 在只定义变量,但不赋值的情况下会得到
- 在定义变量时,值就为undefined会得到
/* 定义变量,但不赋值 */
var unde1;
console.log( unde1 );// 显示:undefined
/* 定义变量并赋值为undefined */
var unde2 = undefined;
console.log( unde2 );// 显示:undefined
/* undefined类型为 - 原始类型 */
console.log( typeof unde1 );// 显示:undefined
null类型
null类型 – 表示为空的含义
- 该类型只有一个值 – null
- 作用 – 将定义的变量从内存中释放
- 用法 – 将null赋值给指定变量
/* null用法 */
var nu = null;
console.log( nu );// 显示:null
/* null类型为原始类型 */
console.log( typeof nu);//显示:object -> 历史遗留问题
typeof运算符
typeof运算符 – 表示对原始类型进行判断
- typeof运算符只能对原始类型进行判断
- 语法:typeof 变量名称
- 结果:类型名称
/* 判断number类型 */
var num = 10;
console.log( typeof num );// 显示:number
/* 判断string类型 */
var str = '啊哈哈';
console.log( typeof str );// 显示:string
/* 判断boolean类型 */
var boo = true;
console.log( typeof boo );// 显示:boolean
引入类型
Numder类型
Number类型 – 表示与原始类型中的number类型相匹配的引用类型
- 语法:var 变量名称 = new Number( ) ;
- new Number( )(构造函数方式) – 创建一个number类型的对象
/* 构建函数方式 - 类型名数字母大写 */
var num = new Number( 100 );
console.log( num );// 显示:[Number: 100]
String类型
String类型 – 表示与原始类型中的string类型相匹配的引用类型
- 语法:var 变量名称 = new String( ) ;
- new String( )(构造函数方式) – 创建一个string类型的对象
/* 构建函数方式 - 类型名数字母大写 */
var str = new String( '啊哈哈' );
console.log( str );// 显示:[String: '啊哈哈']
Boolean类型
Boolean类型 – 表示与原始类型中的boolean类型相匹配的引用类型
- 语法:var 变量名称 = new Boolean( ) ;
- new Boolean( )(构造函数方式) – 创建一个boolean类型的对象
/* 构建函数方式 - 类型名数字母大写 */
var boo = new Boolean( true );
console.log( boo );// 显示:[Boolean: true]
instanceof运算符
instanceof运算符 – 表示对引用类型进行判断
- instanceof运算符只能对引用类型进行判断
- 语法:变量名称 instanceof 引用类型名称
- 结果:布尔类型值(true或false)
/* 判断Number类型 */
var num = new Number( 100 );
console.log( num instanceof Number );// 显示:true
/* 判断String类型 */
var str = new String( '啊哈哈' );
console.log( str instanceof String );// 显示:true
/* 判断Boolean类型 */
var boo = new Boolean( true );
console.log( boo instanceof Boolean );// 显示:true