JavaScript第三天

71 阅读3分钟

回顾

xxxxxxxxxx 数据类型  简单数据类型     字符串String     数值  Number     布尔 boolean     undefinednull                   复杂数据类型  

运算符

递增递减运算符

算术运算符

x +- */%       
console.log(12+34);        
console.log(34-12);        
console.log(2*8);       
console.log(98/23);      
console.log(98%9);

递增递减运算符

如果需要反復的给数字变量添加和减去1,可以使用递增(++) 递减(--)运算符

++ -- 可以放到变量的前面 (前置递增)也可以放到变量的后面(后置递增)

递增递减运算符必须和变量配合使用

var num = 3;
​
num += 1;    //num = num +1  把=右边的值赋给等号左边  4
​
num -= 1;   //num = num -1   3
​
num *= 7;   //num = num * 7   21
​
num /=2 ;   // num = num / 2;   10.5
​
num %= 3   //num = num % 3;`  1.5
// console.log(num)
​
​
// 前置递增就是自加1   ++num  类似于  num = num +1
​
var num1 = 10;
num1 ++;   //11
​
++ num1;  //12
​
// 前置递增 和后置递增如果单独使用,效果一样,都是自增,类似于 num1 = num1 +1
​
​
// 先加1 (自身自增变为13 ) 后运算
console.log(++num1 + 10);   //23   num1 = 13
// 后置递增  先运算 后自增
console.log( num1++ +10);   //23   num1 = 14
​
/* 
前置递增 和后置递增如果单独使用,效果一样,都是自增,类似于 num1 = num1 +1
前置递增 先自身加1 后运算
后置递增  先运算 后加1
*/
​
​
// console.log( num1++ *10)
​
​
​
var age=13;
++ age;
var b = ++age +2;
console.log(age,b)  //15,17
// --------------------
​
​
var i = 10;
alert(10 + i++);  //alert(20) i =11
​
// --------------
​
var b = 2;
var c = 3;
console.log(b++ +c);  //5   b=3  c =3
console.log(b)  //3
console.log(++b + c)  //b=4  7
console.log(b);  //4
console.log(b++ + ++c);  //c =4  4+4=8 b=5
console.log(b + "," +c)  //5,4
​
// 左边后置加的时候为5   后面的是前置  但是左边先的,结束加1  所以有++b = 7
console.log(b++ + ++b);  //5 + (6+1) =12
console.log(b)  //7
​
​
// 递减
​
var bb = 13;
bb --;
-- bb;
console.log(bb)  //11
​
console.log(bb-- - --bb)   //11 - (10-1)=2
​
// console.log(--bb - bb--);  //10 -10 =0`2`2

比较运算符

两个数据进行比较使用的运算符,比较运算符会返回一个布尔值 true/false

        // 小于号  <
        console.log(4<9);  //true
        // 大于号  >
        console.log(8>10);  //false
​
        // 大于等于
        console.log(9>=9);  //true
​
        // 小于等于
        console.log(3<=2); //false
​
        // 不等于
        console.log(3!=5);  //true
​
        // ==   只判断值
        // 默认转换数据类型,把字符串型的数字转换为数字型  值相等就行
           console.log(13=="13");  //true
           console.log(3==5);  //false
​
           console.log("hello"=="liudh"); //false
​
        // ===   值和数据类型都必须相等
        console.log(13==="13");  //false

逻辑运算符

/* 
&& 逻辑与 and   true && false
|| 逻辑或 or    true || false
! 逻辑非  not  !true
*/// 两侧都为true 结果为true  只要有一侧为false 结果是false
console.log(true && true);   //true
console.log(true && false);  //fase
console.log(false && true);  //fase
console.log(false && false);//faseconsole.log(3>5 && 3>2);   //false && true   false
console.log(3<5 && 3>2) ;  //true && true    true
​
    // console.log(1 && 0);
​
​
// 逻辑或   两侧都为false 结果才为false 只要有一侧为true 结果就是true
console.log(true || true);   //true
console.log(true || false);  //true
console.log(false || true);  //true
console.log(false || false);//faseconsole.log(3>5 || 3>2);   //false && true   true
console.log(3<5 || 3>2) ;  //true && true    true
​
​
// 逻辑非
console.log(!true);   //false
console.log(!false);  //true
console.log("---------------------------------------------------")
​
​
​
/* 
短路运算原理:有多个表达式(值)时,左侧的表达式可以确定结果时,就不再继续运算右边的表达式的值
​
​
​
*/// 逻辑与
// 表达式1 && 表达式2
// 第一个表达式值为真,返回第二个表达式
// 第一个表达式为假,返回第一个表达式
console.log((3+4)&&9);  //9
console.log(1&&0);  //0
console.log(0&&1);  //0console.log("-------------")
// 逻辑或
// 表达式1 || 表达式2
// 第一个表达式值为真,返回第1个表达式
// 第一个表达式为假,返回第2个表达式
console.log((3+4)||9);  //7
console.log(1||0);  //1
console.log(0||1);  //1
​
​
var num;
console.log(num&&num>3)  ;  //
console.log("-------------")
​
console.log(null && 5);  //null
console.log(undefined && 7) // undefined
console.log("123"&&8);  //8
console.log(""&&8);  //""

\