Javascript的数据类型分为两种:
基本数据类型
复合数据类型(其实就是基本数据类型的集合体,如:数组,对象)
基本数据类型:数值型,布尔型,字符串型,未定义值undefined,空值null
1.数值型:所有的数值都是由浮点型表示
整型数(可以相等比较大小)
eg:1,1.0
浮点型数据(不可以相等比较大小,因为取值不精准)
传统记数法:
整数部分,小数点,小数部分
eg:1.23, .234 (整数为0,可省略)
科学记数法:
实数后跟随字母e或E,后面带上一个正好或负号的整数,e或E后面的整数表示10的指数次幂,只对十进制有效, + 乘以10的指数次幂,- 除以10的指数次幂
eg:6e+3
3.12e-10
十进制:范围:0~9,组成0, 1,2,3,4,5,6,7,8,9
eg:0,1,3
十六进制:范围:0~15,组成 0 ~ 9,a(A) ~ f(F)
eg:OX1 (表示十六进制的1)
Ox10 (表示十六进制的10)
八进制:范围: 0 ~ 7,组成0, 1,2,3,4,5,6,7
以0开头,为了不与10进制混淆,一般不使用八进制
eg:01 (表示八进制的1)
Infinity:无穷大
eg:-Infinity 负无穷大
NaN:Not a number,一般用于数学运算产生了未知结果或错误
2.布尔型:只有两个值 true,false,一般用于条件判断
3.字符串型:用’'或""
eg:‘Hello World’,“hello world”
4.undefined:未定义值,表示变量还没赋值,如:var a;
5.null:空值,不等同于0或空的字符串""
常量:直接使用数值表示
eg:123,“Hello World”,true,false
变量:var 变量名=变量值;
变量命名符合C#命名规则
运算符:
1.算术运算符
2.字符串运算符:
// + 连接两个字符串
// "功夫"+"Javascript"
// += 连接两个字符串,并把值赋值给第一个字符串
var name="Hello";
name+="World"; //相当于name="HelloWorld";
在Javascript中,区别是 算术运算符+,还是字符串连接运算符 +,根据是否有字符串存在,如果存在一个是字符串,这个+就是字符串连接运算符,数值类型默认转换为字符串类型
3.比较运算符:
// == 等于,只判断字面量,不涉及数据类型
// === 绝对等于,字面量和数据类型同时判断
// != 不等于
// !== 不绝对等于
4.赋值运算符
// = , += , -= , *= , /= , %=
5.逻辑运算符
// && 逻辑与
// || 逻辑或
// ! 逻辑非
// 逻辑运算符返回值是布尔类型 true,false
6.条件运算符
// 表达式?结果1:结果2
var age=16;
var status;
status=(age>18)?"成年人":"未成年人";
document.write("小明今年"+age+岁); //输出到控制台显示
document.write("<br/>"); //功能是换行
document.write("小明是"+status);
7.逗号运算符
//多个表达式排在一起,整个表达式的值取最后一个表达式的值
var a,b,c; //声明变量
a=(a=1,b=2,c=3); //使用逗号运算符
alert("a="+a); //在页面中输出一个警告框
- typeof运算符
//用于判单操作数的数据类型,返回一个字符串,说明操作数的数据类型
var a=12;
var b=typeof(a)
document.write(b);
9.new 运算符
用于实例化内置对象与用于创建自定义对象
Javascript中的对象:
自定义对象
预定义对象: 内置对象,浏览器对象(window)
// var 对象实例名称=new 对象类型(参数);
var array=new Array(); //实例化内置的数组对象
运算符优先级:可以使用 () 改变运算符优先级
Javascript的数据类型转化只有两种:
默认数据类型转化
使用 方法转化
默认数据类型转换(数值型,字符串型,布尔型,undefined,null,对象(数值是内置对象)
1.其他数据类型 转换为 数值型数据
// undefined NaN
//null 0
//布尔类型 true转换为1,false转换为0
//字符串 内容是数字,就转换为数字,否则为NaN
//其他对象 NaN
2.其他数据类型 转化为 布尔型
//undefined false
//null false
//数值型 0或NaN,为false ,其他为true
//字符串 长度为0,false ,否则true
//其他对象 true
3.其他数据类型 转换为 字符串型
//undefined "undefined"
//null "null"
//数值型 与数值相对应的字符串
//逻辑型 true,"true" ; false,"false"
//其他对象 若对象存在,为toString()方法的值,否则为"undefined"