8.26 冯娜学习日志
学习日志
今天学习了运算符和表达式,
一、什么是程序:
程序就是人们的想法在计算机中的执行。
二、什么是运算符:
程序中模拟人的想法的特殊符号。
三、什么是表达式:
由运算符连接操作的数据,所组成的形式就是表达式
表达式的执行过程:从左向右,依次执行,每读到一个变量就将变量换成变量中的值。
四、运算符:
1、算术运算符:%、++、--。隐式转换:一切转为number,再算数计算。特殊情况:运算中只要有一个字符串,全部转为字符串,+ 计算此时改为字符串拼接。
问题:凡是从页面上获得的数据都是字符串。
解决:做算数计算前,必须用parseFloat()强转为数字类型。
2、比较运算符:=、<=、、!=、>、<、= (全等于\严格等于)、!== (不全等于)。
注:1、=== 不仅比较值,还会比较数据类型是否一样,先比较数据类型。
2、两个字符串比较,比较的是首字符的Unicode码。
3、NaN和任何值比较(> < <= >= == ===)都是flase,包括自身。
3、逻辑运算符:
- 逻辑与(&&):并且
- 逻辑或(||):或者
-
逻辑非(!):非
-
逻辑短路:注意:逻辑短路无需关注最终的结果是true还是false,重点看第二个表达式是否有执行:
1、&& 当第一个条件为false的时候,就不需要再执行第二个条件了
2、|| 当第一个条件为true的时候,就不需要再执行第二个条件了
4、位运算符:
- 按位与(&)
- 按位或(|)
- 按位异或()
- 按位左移(<<)
- 按位右移 (>>)
案列:
原码: 0000 1100
12: 0 1100
21: 1 0101,
& 0 0100 ==>4
| 1 1101 ==>29
^ 1 1001 ==>25
-
按位左移/右移
// console.log(20>>1) // 10
// 20: 0000 1010
// 按位右移是在二进制末尾删除n位,在开头补0
// console.log(20<<1) // 40
// 20: 0010 1000 ==>40
// 按位左移是在二进制开头删除n为,在末尾补0
// console.log(-10>>2) // -3
// 原码: 1 0000 1010,
// 反码: 1 1111 0101,
// 补码: 1 1111 0110,
// 移位: 1 1111 1101,
// 取反(反码): 1 0000 0010
// 原码(补码): 1 0000 0011 ,// -3
// 负数在按位右移的过程中,高位补1
// 按位左移
// console.log(-10<<2) // -40
// 原码:1 0000 1010
// 反码:1 1111 0101
// 补码:1 1111 0110
// 左移:1 1101 1000
// 取反:1 0010 0111
// 原码(补码):1 0010 1000 // -405、赋值运算符:
赋值运算也有返回值,返回值保存到等号左边的变量中的新值。
注:运算符的优先级
案例:
// var a=1;
// // a=1;
// a+=2; // ==> a=a+2
// a-=2; // ==> a=a-2
// a=2; // ==> a=a2
// var a=1,b=1;
// console.log(a+=b+=2)
// a=1+(b=3) ==46、三目运算符:
条件表达式?表达式1:表达式2
结果:若条件为true,执行表达式1;
若条件为false,执行表达式2。
7、逻辑结构:
流程控制(选择执行)
1、if语句:
if(条件表达式){
语句1
}
语句2注意:
1.如果if后的语句只有一行,则可以省略大括号;
2.在条件表达式中,有一些值默认转成false,例如:undefined、null、0、NaN、"";
3.判断一个值是否为NaN,使用isNaN()方法,如果是返回true,否则返回false。2、if-else语句:
if(条件表达式){
语句1
}else{
语句2
}3、if-else语句嵌套:
if(条件表达式1){
语句1
}else if(条件表达式2){
语句2
}else{
语句3
}4、switch-case语句:switch(表达式){
case 值1:
语句1; break;
case 值2:
语句2; break;
...
default: 语句n;
}循环执行:
1、while循环:
while (循环条件) {
循环体;
}2、do-while循环:
do{
循环体;
}while(循环条件);注意:do-while循环先执行一遍do里的内容,再去判断循环条件,do-while循环至少执行一次。
4、for循环:
for(表达式1 ; 表达式2 ; 表达式3) {
循环体;
}注意:当for循环有多个循环条件时,最后一个循环条件起作用。
案例:
九九乘法表:
今天感觉好一些,可能是因为这些语法以前学过的缘故,区别就是格式上的差别,要多加练习。熟悉个格式。
评论