一、变量
1、定义: 值变化的量叫变量; 本质上是内存中存储单元, 理解为一个容器。
2、语法:
var 变量名称
var name //使用var关键字定义一个名为name的变量
var score //使用var关键字定义一个名为score的变量
3、赋值: score = 100 // 将100赋值给score变量,
var score = 100 //定义一个名为score的变量,将100赋值给score变量
4、访问变量(打印变量):console.log(变量名)
5、变量名命名
规则:
1. 必须是字母(a-z A-Z)、数字(0-9)、下划线(_) $美元 组成
2. 不能数字开头
3. 不能是关键字(特定意义的单词) 比如: var
4. 不能是保留字(将来有特殊用处的单词)
规范:
1. 语义化
2. 驼峰命名 var userName 变量第二个单词首字母大写
3. 不使用中文
二、数据类型:
1、分类:
基本数据类型:
- 数值类型: number { 所有的数字& 非数字值not a number(NaN)}
- 字符串:string 引号引起来 var userName = 'jack' // 创建一个名为userName的字符串类型的变量,值是'jack'
- 布尔类型: boolean 值为 true 成立(真) false 不成立(假) var isDelete = false/true
- 空类型 : object 值为null var isNull = null
- 未定义类型: undefind var age
复杂数据类型:
2、判断数据类型
程序判断数据类型
1、 typeof 变量 typof(变量)
输出变量类型的两种写法:
console.log(typeof 变量名)==> 直接空格加变量名
console.log(typeof(变量名))==> typeof括号里写变量名
2、isNaN(x)函数用于检查其参数x是否是非数字值,是非数字值返回true,否则返回false
注:检查的值是数值形字符串会自动转为数字 再判断
提示:isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字。
当然也可以用 isNaN() 函数来检测算数错误,比如用 0 作除数的情况。
3、数据类型转换
1.其他转数值
- Number()
var message = '100'
Number(message) -> 100
Number('100') -> 100
Number('jack') -> NaN
Number('') -> 0
- parseInt()
paraseInt('100') -> 100
特点:
1. 从左向右转换
2. 遇到数值字符串转为数值,遇到非数值结束转换,如果第一个为非数值,结束输出NaN
3. 取整
paraseInt('10a0') -> 10
parseInt(100.9) -> 100
- parseFloat()
特点同上parseInt (1,2) 只是不取整
parseFloat('10.98') -> 10.98
3、其他转字符串
用string 值只用加引号完成
console.log('======== 其它类型->string ====================');
// number -> string
console.log( String(100) , typeof String(100)) // '100'
console.log( String(undefined) , typeof String(undefined)) // 'undefined'
console.log( String(true) , typeof String(true)) // 'true'
console.log( String(null) , typeof String(null)) // 'null'
var b
// console.log( 'toString : ', b.toString() , typeof b.toString() ) //Cannot read properties of null
4、其他转布尔
1. Boolean(变量) 在js中,只有”0、null、undefined. NaN, 这些是false,其余都是true
console.log('===========其它类型->boolean ==============');
console.log('0 ', Boolean(0) );
console.log('空字符串 ', Boolean('') );
console.log('undefined ', Boolean(undefined) );
console.log('null ', Boolean(null) );
console.log('hello ', Boolean('hello') );
console.log(100, Boolean(100) );
三,运算符
1. 算术运算
+ - * / %取余
var c = 10 + 20
var a = 10 * 20
var b = 20 / 10
var d = 25 % 10
隐式类型转换
除了加法外都转数字
2. 赋值运算符
var score = 100 //定义一个名为score的变量,将100赋值给score变量
3. 比较运算符
> >= < <= == === != !==
8 > 3
比较运算结果 boolean值
== 和 === 区别
100 == '100' => true
100 === '100' => false
两个等号只比较值是否相同
三个等号比较值和数据类型
4. 逻辑运算符
逻辑与 &&
同为真则为真
true && true -> true
true && false -> false
能被400整除并且能被100整除 是闰年
var year = 2022
(year%400 == 0) && (year%100==0) -> true
true && true
逻辑或 ||
false || false -> false
同为假则为假
true || false -> true
能被400整除 或者 能被4整除 是闰年
true || false -> true
逻辑非 !
非真则假
非假则真
!true -> false
!false -> true
注意: 短运算
false && true -> false
逻辑与运算时,如果左边为false, 右边不参与运算
8>10 && 2<3
5. 自增运算
var a = 10
a++ // a=>11
自身值加一
var b = 10
b-- // 9
自身值减一
加加或减减可以放到变量前面或后面,如果是单独运算没有区别,都是自身加一或减一
a++ , ++a
参与其它运算有区别:
var a = 10
var m = ++a 先加一,再赋值
a= a + 1, m = a
var a = 10
var m = a++ 先赋值,再加一
m = 10 , a = a + 1