js笔记_变量_常亮_数据类型_数据类型转换_运算符

1.变量
(1)命名规则
变量名称可以使用字母、数字、下划线、美元符合,其中不能以数字开始,不能使用关键字。不能使用汉字
语义
username user_name userName
yongHuMing
(2)变量赋值
变量声明后未赋值为undefined(未定义),变量可以多次赋值,并且赋不同类型的值,这也是弱类型语言的特点。
(3)一次声明多个变量
var m1=1, m2=2,m3;
多个直接用逗号隔开
练习:声明变量保存一个圆的半径和圆周率,声明变量保存圆的面积和周长;最后打印周长和面积
2.常量
也是用来存储数据
声明后必须赋值,不允许重新赋值
const pi=3.14;
3.数据类型
分为原始类型和引用类型
原始类型分为数值型、字符串型、布尔型、未定义型、空
(1)数值型
10进制
1 2 3 ... 7 8 9 10 ... 15 16
8进制:以0开头的数字,例如012
1 2 3 ... 7 10 11 12
16进制:以0x开头的数字,af代表1015,不区分大小写
1 2 3 ... 9 a ... f 10
浮点型
3141.5e-1
314.15
31.415e+1
3.1415e+2
(2)字符串型
被引号所包含的值都是字符串型,不区分单双引号
查看任意一个字符的Unicode码
'a'.charCodeAt()
(3)布尔型
只有两个值,分别是true和false,代表真和假
用于存储只有两个值得数据
(4)未定义型
只有一个值undefined,表示一个空值,声明变量未赋值则为undefined
(5)空
只有一个值null,表示一个空值,结合对象使用
检测数据类型 typeof
数值型 'number'
字符串型 'string'
布尔型 'boolean'
未定义型 'undefined'
对象型 'object'
4.数据类型转换
分为隐式转换和强制转换
(1)隐式转换
在运算过程中自动产生的转换
①数值+字符串 数值转为字符串
'3'+5 //'35'
②数值+布尔型 布尔型转为数值 true->1 false->0
2+true //3
2+false //2
③字符串+布尔型 布尔型转为字符串
'3'+true //'3true'
加号(+)运算符的作用
数字之间的加法运算
字符串之间的拼接
NaN:Not a Number,不是一个数字,将一个值转为数值的时候没有成功得到一个数字,结果就是NaN,和任何值执行加减乘除等数学运算结果还是NaN
所有的隐式转换为数值会自动调用函数Number()
(2)强制转换
①强制转换为数值
Number()
Number('4') //4
Number('1a') //NaN
Number(true) //1
Number(false) //0
Number(undefined) //NaN
Number(null) //0
②强制转换为整型
parseInt()
用于将小数和字符串转为整型,其它类型转换的结果为NaN
parseInt(1.9) //1
parseInt('3.14a') //3
parseInt('a3.14') //NaN
③强制转换为浮点型
parseFloat()
用于将字符串转为浮点型,其它类型转换的结果为NaN
parseFloat('3.14a') // 3.14
parseFloat('6') //6
parseFloat('a3.14') //NaN
④强制转换为字符串(了解)
只能用于将数值和布尔型转为字符串
toString()
var n=2;
var str=n.toString() //'2'
5.运算符
表达式:由数据本身或者由运算符连接的操作数据组成的形式
运算符分为算术运算符、比较运算符、逻辑运算符、位运算符、赋值运算符、三目运算符
(1)算术运算符
+ - * / % ++ -- % 取余数 ++ 自增,在原来基础上加1 -- 自减,在原来基础上减1
var b1=1; //先把b1当前的值赋给b2,然后b1再执行自增 var b2=b1++; var c1=1; //先让c1执行自增,再把自增后的值赋给c2 var c2=++c1; 练习:查看以下程序的运行结果 var n1=8; var n2=n1--; var n3=--n1; console.log(n1,n2,n3);
(2)比较运算符
> < >= <= ==(等于) != ===(全等于) !==(不全等于) == 等于,只是比较两个值是否相同,可能会产生隐式转换 === 全等于,不仅比较值,还会比较类型,不会产生隐式转换 3>'10' //false 数字和字符串比较,字符串转为数值 '3'>'10' //true 字符串之间比较的是首个字符的Unicode编码 3>'10a' //false 3<'10a' //false 3=='10a' //false NaN==NaN //false NaN和任何值比较(> < >= <= == ===)结果都是false
(3)逻辑运算符
&& 逻辑与(并且),关联的两个条件都是true结果是true,否则false
|| 逻辑或(或者),关联的两个条件有一个是true结果是true,否则false
! 逻辑非,取反

上一篇:JS学习笔记


下一篇:SQL DEFAULT 约束:使用方法及撤销方法解析