1.数据类型
js的数据类型包括5种基本数据类型和引用数据类型
5种基本数据类型:
1.Undefined 未定义类型
该类型只有一个值undefined。对未声明和未初始化的变量执行typeof操作符都返回undefined
2.Null 空数据类型
该类型的取值只有一个,即null。null可以表示一个空对象的指针
3.Bollean 布尔类型
常取值true/false,常用于条件判断
4.Number 数字类型
数字有很多类型,按照数字精度可以分为整数(int),单精度(float),双精度(double ),按照数 字的表示方法可以分为二进制(Binary),八进制(Octal),十进制(decimal system),十六进 制(Hexadecimal)。但是在JS中,所有的数字统一使用Number来表示。
表示方法:
十进制 55 由0~9组成
八进制 070 首位为0,其他位有0~7组成
十六进制 0x11 首位为0x,其他位为0~9,A~F
普通浮点数 3.1415926
科学计数法 3.125e7 即31250000
5.String 字符串类型
字符串是存储字符的变量。字符串可以是引号中的任意文本。必须使用单引号或双引号
引用数据类型
在JS中除了以上基本数据类型,其他所有类型都可以归结为引用数据类型,包括对象(Object)、数组(Array)、函数(Function)等都是引用数据类型
数据类型的判断
console.log(typeof var); 判断当前变量的数据类型
2.JavaScript中的运算、操作符
运算符类型 | 符号 |
算数运算符 | +、-、*、/、% |
一元运算符(递增递减) | ++、-- |
赋值运算符 | +=、*=、-=、/=、%= |
比较运算符 | ==、===(绝对等于)、!=、> 、<、 >=、 <= |
逻辑运算符 | &&(与)、||(或)、!(非) |
条件运算符 | ?: |
3.JS数据类型转换
1.其他数据类型转换为String
toString() 函数
ar a= true;
a.toString(); // "true"
2.其他数据类型转换为Boolean
Boolean()函数 | true | false |
string | 非空字符串 | " " |
number | 任何非0 | 0/NaN |
Object | 任何对象 | null |
undefined | 不适用 | undefined |
3.其他数据类型转换为Number
1.Number() 函数:
如果转换的值是null,undefined,boolean,number
Number(true); //1
Number(false); //0
Number(null); //0
Number(undefined); //NaN
Number(10); //10 如果是数字值,原样输出
如果转换的值是string
Number("123"); //如果仅包含数值,转换为对应的数值
Number("234.1"); //解析为对应的小数
Number("+12.1"); //首位为符号位,其余为为数值,转换为对应的数值
Number("1+2.3"); //NaN 符号位出现在其他位置,解析为NaN
Number("0xa"); //如果仅包含十六进制格式,转为为对应的十进制的值
Number("010"); //【注意!】不会当做八进制被解析,结果为10
Number(""); //空字符串被转换为0
Number("123ac"); //包含其他字符: NaN
Number(" 12"); //12
2.parseInt() 函数:
如果转换的值是null,undefined,boolean,均转换为NaN
如果转换的值是Number
parseInt(10); //10 如果是整数值,原样输出
parseInt(10.3); //10 如果是小数,舍去小数点一级后面的内容
如果转换的值是string
parseInt("123"); //123;如果仅包含数值,转换为对应的数值
parseInt("234.1"); //234;小数点后面的数值省略
parseInt("+12.1"); //12; 首位为符号位,其余为为数值,转换为整数
parseInt("1+2.3"); //1; 符号位出现在其他位置,保留符号位前面的数值
parseInt("0xa"); //10; 如果仅包含十六进制格式,转为为对应的十进制的值
parseInt("010"); //10; 【注意!】不会当做八进制被解析,结果为10
parseInt(""); //NaN;空字符串被转换为NaN
parseInt("1+2.3"); //1;如果首位为数值,依次向后解析,找到连续的数值,直到遇到第一
个非数值的,将之前获取的数值转换为Number返回
parseInt("123ac"); //123;
3.parseFloat() 函数:
如果转换的值是null,undefined,boolean,均转换为NaN
如果转换的值是Number
parseFloat(10); //10 如果是整数值,原样输出
parseFloat(10.1); //10.1 如果是小数,保留小数点,但是如果是10.0结果为10
如果转换的值是string
parseFloat("123"); //123;如果仅包含数值,转换为对应的数值
parseFloat("234.1"); //234.1;保留小数点后面的数值
parseFloat("+12.1"); //12; 首位为符号位,其余为为数值,转换为整数
parseFloat(“1+2.3”); //1;符号位出现在其他位置,保留符号位前的数值
parseFloat(“0xa”); //0; 不会当做十六进制来解析。
parseFloat("010"); //10; 【注意!】不会当做八进制被解析,结果为10
parseFloat(""); //NaN;空字符串被转换为NaN
parseFloat("1+2.3"); //1;如果首位为数值,依次向后解析,找到连续的数值,直到遇到第一
个非数值的,将之前获取的数值转换为Number返回
parseFloat("123ac"); //123;