javaScript基础学习
运算符
算数运算符
+ | 加号 | 10+20=30 |
---|---|---|
- | 减号 | 10-50=-40 |
* | 乘 | 10*20=200 |
/ | 除 | 10/5=2 |
% | 取余数(取模) | 9%5=4 |
基本用法
var res=1+1
console.log(res)
console.log(2+2)
浮点数的计算,浮点数值的最高精度是17位小数,进行计算时的精准度远不如整数
var ulr=0.1+0.2 结果是0.30000000000000004
递增和递减运算符
递增 ++ 递减 –
可以给数字变量加1或减1,一般用于循环语句中,递增和递减运算符必须和变量配合使用
两类用法前置运算符和后置运算符,可产生不同的效果
前置运算符
++num 运算符放置于变量前面,使用时就是先自加1再执行其他语句
var num=10
console.log(++num) 输出11
后置运算符
num++ 运算符放置再变量后边,使用时先执行其他语句再加1
var num=10
console.log(num++) 输出结果为10 然后加1
conxole.log(num) 输出结果为11
比较运算符
比较运算符是两个运算符进行比较时所用的运算符,一般运算后会返回一个布尔值(true/false)做运算结果,再循环语句中运用较广。
< | 小于号 | 1<2 |
---|---|---|
> | 大于号 | 2>1 |
>= | 大于等于 | 5>=5 8>=5 |
<= | 小于等于 | 6<=6 4<=6 |
== | 判等号(会转型) | 37==37 ‘37’==37 |
!= | 不等号 | 10!=20 |
=== !== | 全等 要求值和数据类型都一致 | 30=30 ‘30’=‘30’ |
== 判等号会自动给两边的数值转型,再进行判断
逻辑运算符
逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。
&& | 逻辑与,and | true && fales |
---|---|---|
|| | 逻辑或, or | true || fales |
! | 逻辑非,not | !true |
逻辑与 && :只有当两边的的返回值都是true是,总体的返回值才是true
逻辑或 || : 两边只要右一边是true,总体的反回值就是true,两边都是fales时总体返回值才是fales
逻辑非 ! : 也叫取反符,用来取一个布尔值相反的值,
逻辑符运算规则:当有多个表达式时,只需左边的表达式就可以确定结果时,就不再运算右边的表达式了
赋值运算符
用来给变量进行赋值的运算符
= | 直接赋值 |
---|---|
+= 、 -= | 加或减一个数后赋值 |
*=、/=、%= | 乘、除、取模后赋值 |
案例
var ab=10
ab+=5 相当于ab=ab+5
ab-=5 相当于ab=ab-5
ab*=5 相当于ab=ab*5
运算符的优先级
js的运算符的优先级和正常的计算区别不大,表格自上而下优先级逐渐降低
小括号 | () 括号里的优先计算 |
---|---|
一元运算符 | ++ – ! |
算数运算符 | 先计算*/%后算± |
关系运算符 | > >= < <= |
相等运算符 | == !== === !== |
逻辑运算符 | 先&& 后|| |
赋值运算符 | = |
逗号运算符 | , |
流程的控制
在一个程序的执行过程中,各条代码的执行都是有顺序的,结果是可以影响程序结果,我们可以通过控制代码的执行顺序来实现需要的功能和目标,流程控制就是控制代码的执行顺序,主要有三种结构:顺序结构、分支结构、循环结构。
顺序结构:程序中最简单、最基本的流程控制,没有特定的语法结构,程序会按照代码的先后顺序执行。
分支结构:在顺序结构的基础上分成多个代码流程,根据条件的不同进入不同的代码流程。
循环结构:也是多分枝结构,在此基础上加上了循环。针对变量设置一系列的特定的值的选项。
if判断语句
基础语法:
1.
if(判断条件){
执行语句 //通过判断条件true则执行此语句
}else{
执行语句 //false则执行此语句
}
2.
if(判断条件){
执行语句 //通过判断条件true则执行此语句false则进行下一个if判断
}else if{
执行语句 //第一个if为false进行判断此if条件
}else {
执行语句 //以上都为false则执行此语句
}
switch分支语句
基础语法:
switch(表达式){
case value1:
执行语句 // 表达式 等于 value1 时要执行的代码
break;
case value2:
执行语句 // 表达式 等于 value2 时要执行的代码
break
default:
执行语句 // 表达式不等于任何一个value时要执行的代码
}
break是停止执行的语句,用于退出switch语句或循环语句。
if语句和switch语句的区别
一般情况下,它们两个语句可以相互替换
switch…case 语句通常处理 case为比较确定值的情况, 而 if…else…语句更加灵活,常用于
范围判断(大于、等于某个范围)
switch 语句进行条件判断后直接执行到程序的条件语句,效率更高。而if…else 语句有几种
条件,就得判断多少次。
当分支比较少时,if… else语句的执行效率比 switch语句高。
当分支比较多时,switch语句的执行效率比较高,而且结构更清晰。