- 变量
用于存储数据的容器
- 声明变量
var x=1;
使用var关键字声明变量,会在内存中开辟空间,命名为x
var a=1,b=2;
一个var关键字可以声明多个变量,多个之间用逗号“,”隔开
- 变量命名规则
变量的名称可以由英文字母、数字、下划线、美元符号组成,数字不能出现在开头,不能使用关键字;汉字不推荐使用
尽量使用英文单词,由多个单词,建议将后边单词首字母大写
use_name userName
- 变量赋值
变量声明后未赋值为undefined(未定义),变量可以多次赋值,而且可以赋不同类型的值
练习:声明变量保存多组商品的单价和数量,声明变量保存总价
- 常量 const
用来存储数据
const a=1
特点:声明后必须赋值,不允许重新赋值
练习:声明变量保存圆的半径,声明常量保存圆周率,声明变量保存计算圆的周长和面积
计算机底层运算过程:
- 数据类型
分为原始类型和引用类型
原始类型分为数值型、字符串型、布尔型、未定义型、空
- 数值型
就是数字,分为整型和浮点型
1 2 3 4 5 6 7 8 9 10
8进制
1 2 3 4 5 6 7 10 11 12
16进制
1 2 3 4 5 6 7 8 9 a....f 10
8进制:以0开头的数字,例如:010
16进制:以0x开头的数字,例如:0xa 其中不区分大小写
3.14
3.14e1-----3.14e+1
0.314e2----0.314e+2
typeof 值 检测数据类型 typeof 检测一个值的数据类型 console.log(typeof n6); |
- 字符串型
被引号所包含的数据,就是字符串型,不区分单双引号
'a'.charCodeAt() //查看任意一个字符的Unicode编码
- 布尔型
只有两个值,分别是true 和false,代表真和假
用于保存只有两个值得数据,例如:是否登录、是否为会员...
一些运算的结果也是布尔型的值
- 未定义型
只有一个值 undefined,表示空值,声明了变量未赋值为undefined,
- 空
只有一个值null,类型是对象object,常和对象一起使用
- 数据类型转换
分为隐式转换和强制转换
- 隐式转换
在运算过程中自动产生的转换
- 数字+字符串 数字会转换为字符串
2+'3 ' // '23' ----string
- 数字+布尔型 布尔型转换为数字, true->1 false -->0
2+true //3
2+false //2
- 字符串+布尔型 布尔型会转换为字符串
'2'+true // '2true'
字符串/数字/布尔型
加号(+)的作用:
|
NaN:Not a Number,不是一个数字,只有在将一个值转为数值的时候出现,没有成功的得到数字,结果就是NaN,NaN和任何值执行数学运算结果还是NaN
所有的隐式转换都会自动的调用函数Number()
- 强制转换
- 强制转换为数值
Number()
var n1=Number('3'); // 3 number var n2=Number('3a'); // NaN var n3=Number(true); // 1 var n4=Number(false); // 0 var n5=Number(undefined); // NaN var n6=Number(null); // 0 |
- 强制转换为整型
parseInt()
用于将小数和字符串转为整型,其他的转换结果为NaN
var p1=parseInt(5.9); // 5 取整数部分 number var p2=parseInt('3c88'); // 3 number var p3=parseInt('c88'); // NaN number var p4=parseInt(true); // NaN number |
- 强制转换为小数
parseFloat()
用于将字符串转换为小数,其他的转换的结果是NaN
var f1=parseFloat('6.18a'); // 6.18 number var f2=parseFloat('3c'); // 3 number var f3=parseFloat('c3'); // NaN number |
- 强制转换为字符串
只能用于将数字和布尔型转字符串
//转字符串 var n=true;// true string var b=2;//2 string var str=n.toString();//true string var str1=b.toString();//2 string console.log(str,typeof str ); console.log(str1,typeof str1 ); |
- 运算符
表达式:由数据本身或者由运算符所连接的数据所组成的形式
运算符分为算术运算符、比较运算符、逻辑运算符、位运算符(二进制)、赋值运算符、三元(三目)运算符
- 算数运算符
+ - * / % ++ --
% 取余
++ 自增,在原来基础上+1.
-- 自减,在原来基础上-1
var a2=3; //赋值后置:先把a2的值赋给a3,后自增a2+1,a3=a23,a2+1 var a3=a2++; var b2=3; //赋值前置:先让B2执行自增,然后把自增结果赋给b3 var b3=++b2; |
- 比较运算符
> < >= <= = ==(等于) != (不等于)
=== (全等) !==(不全等于)
== 只是比较两个值是否相等,会产生隐式转换
=== 不仅比较值,还比较类型,要求两者都相同