变量
什么是变量
变量是计算机内存中存储数据的标识符,根据变量名称可以获取到内存中存储的数据;变量其实就相当于一个容器,内部可以存储任意类型的数据,使用变量时,用的是内部存储的数据。
那我们为什么要去定义变量呢
定义变量以后可以方便我们获取变量或者修改内存中的数据
那我们如何去定义一个变量呢 有关键字吗
回答是 有
使用关键字 Var 进行变量的定义 Var后面加空格 空格后面自定义变量名
例: var a
那我们定义了一个变量 就要去用它 那么怎么给一个变量去赋值呢?
变量的赋值
定义变量后 起初新定义的变量是没有进行赋值的
变量赋值方式
var a
变量定义
var a = 1;
变量定义并且赋值
a = 1;
变量赋值
变量的使用
直接写变量名即可使用变量,如未定义变量名,直接使用会报错
那变量的命名规范有哪些呢
1.变量名必须有意义
字母数字下划线 数字不能开头
2.遵守驼峰命名法
什么是运算符?
也叫操作符 是JS中发起运算最简单方式 例:5+6
表达式的组成包含操作数和操作符,表达式会得到一个结果,然后用结果参与程序
运算符的分类
算数运算符
(+ - * / %)
运算顺序与数学中的运算顺序一致,先乘除取余,后加减,有小括号先算小括号里的
隐式转换: JS 内部帮助我们转换的
显式转换: 我们自己手动通过方法转换数据类型
除了加法数据类型不是 number 类型时会进行拼接, 其他都不会拼接, 会隐式转换
赋值运算符
= += -= *= /= %=
= 赋值号
例:var a = 1 //a == 1
+= 我自身 赋值为 我自身 + 1
例:a = a + 1 // a += 1
-= 我自身 赋值为 我自身 - 1
例:a = a - 1 // a -= 1
*= 我自身 赋值为 我自身 * 1
例:a = a * 1 // a *= 1
/= 我自身 赋值为 我自身 / 1
例:a = a / 1 // a / = 1
%= 我自身 赋值为 我自身 % 1
例:a = a % 1 //a % = 1
比较运算符
比较结果只会返回一个布尔类型值
true 或者 false
> < >= <= == === != !==
> 大于
< 小于
>= 大于等于
<= 小于等于
== 等于(只对比数值 不对比数值类型)
=== 全等(对比数值且对比数值类型)
== 在对比数据时, 两侧数据不同, 比如 一侧时数字, 一侧时字符串, 会进行隐式转换
!= 不等于 (只对比数据, 不对比数据类型 会进行隐式转换, 转换为相同类型再对比)
!== 不全等于 (对比数据, 且 对比数据类型)
!= !==(两者作用相同, 用于对比两侧数据是否相同, 相同时返回 false, 不相同返回 true)
逻辑运算符(重点)
&& (逻辑与 逻辑且) || (逻辑或) ! (非, 取反, 逻辑非)
逻辑运算符的优先级
&& ||在表达式中都有时 :
&& > ||
那它们的返回值是什么呢
具体的值:
true 1 false 0
&& 逻辑与
语法:
变量1 && 变量2 表达式1 && 表达式2
返回方式:
前一个(左边)为真, 就返回后一个(右边)
前一个为假, 就返回第一个
例:var bo = true && false
前一个为真, 返回后一个, 所以会把 false 返回
例:var bo1 = false && true
前一个为假, 直接返回前一个, 所以会把 false 返回
console.log(bo) // false
console.log(bo1) // false
|| 逻辑或
语法:
变量1 || 变量2 表达式1 || 表达式2
返回方式:
前一个为真(左侧为真), 返回前一个
前一个为假(左侧为假), 会返回后一个(右边)
例:
var bo = 1 || 0
console.log(bo) // 1
逻辑或 左侧 1 右侧 0
1 转为布尔值 转为true (非0即为真)
按照逻辑或的返回方式
变量bo的值为1
!逻辑非(取反)
语法:
!变量1 !变量2
作用: 改变变量值的布尔类型
例:var a =1
1为真 为true
console.log(!a) 打印a
结果是false
自增自减运算符 (++ --)
自增
变量名 前 或者 后 写上 ++
写在后
例: var a = 1 a++;
console.log(a)
a==1
写在前
例:var a = 1
++a;
console.log(a)
a==2
++ 在前 优先运算自增1 ++ 在后 先运算周边表达式 再自身自增1
自减
变量名 前 或者 后 写上 --
写在后
例: var a = 1;a--;
console.log(a)
a==1
写在前
例:var a = 1;--a;
console.log(a)
a==0
-- 在前 优先运算自减1 -- 在后 先运算周边表达式 再自身自减1
JS条件分支语句
什么是条件分支语句呢?
基于一个条件, 决定执行哪段代码
需求: 基于某一个条件, 只打印 123 或者 只打印 456
这时 需要使用到条件分支语句
if条件分支语句
语法:
if (条件) {当条件为真时, 执行的代码}
else if(){
}
else(){
}
if 关键字
( ) 条件
{ } 要执行的代码
else if 关键字
( ) 条件
{ } 要执行的代码
else { } 当它前边的所有条件都为假时(不成立时)才会执行else
if 判断
从上往下依次检查, 查询是否满足条件
如果满足, 则仅执行当前分支, 其他不执行
如果不满足, 则会进行下一个 if 的判断, 成功则执行, 不成功继续往下执行
直到最后一个 if 成功则执行, 不成功则不执行
最后 查看是否有 else 分支, 如果有, 且前边所有的 if 条件都为假 此时才会执行 else 分支
if语句的嵌套
if(条件1){
15行代码
if(条件2){
5行代码
if(条件3){
1行代码
}else{
}
}
}
swich条件分支语句
语法:
switch (条件) {
case 1:
满足 case 1 时, 执行的代码
break;
case 2:
满足 case 2 时, 执行的代码
break;
default:
}
default 会在上述的条件(case) 都不满足时执行
例:
var a =1
switch(a){
case 1:
console.log("a的值为1")
break;
case 2:
console.log("a的值为2")
break;
default:
console.log("上述语句都没有执行")
}
switch...case 的 穿透现象
当 case 后没有跟随 break 时 会从第一个满足条件的 case 开始执行, 一直到最后一个结束
或者说到后面的最近一个 break结束
注意!
switch case语句在做对比的时候 使用的是严格的全等 也就是说会对比 数据类型
三元表达式
又叫 三目表达式, 三目运算符, 问号冒号表达式,三元表达式也是JS分支语句中的一种.
那它的作用呢 为什么要用三元表达式?
三元表达式执行的代码只有一行 代码简洁明了不复杂
语法:
条件
? 条件为真时执行(只能一行)
: 条件为假时执行(只能一行)
例: true ? console.log('条件为真') : console.log('条件为假') 输出结果为:条件为真