javaScript基础
运算符
算术运算符
+ - * / %
++i 自身加1
--i 自身减1
(注意是自身,运算之后自己的值被改变)
前置++(自身的值加1,结果值加1)
var num1 = 5;
++ num1; 结果为6,num1的值变为6;
var num2 = 6;
console.log(num1 + ++ num2); 结果为 13;
后置++(自身的值加1,结果值不变)
var num1 = 5;
num1 ++; 结果为5
var num2 = 6;
console.log(num1 + num2 ++); 结果为12;
总结: 不管是前置还是后置,自身的值都会加1,但是前置的结果值加1,后置的结果值不加.
练习
var a = 1;
var b = ++a + ++a;
cosole.log(b);
var a = 1;
var b = a++ + ++a;
cosole.log(b);
var a = 1;
var b = a++ + a++;
console.log(b);
var a = 1;
var b = ++a + a++; 2+2
cosole.log(b); 3
总结: 不管是前置还是后置,自身的值都会加(减)1,但是前置的结果值加(减)1,后置的结果值不加(减).
逻辑运算符(布尔运算符)
&& 与 两个操作数同时为true,结果为true,否则都是false
|| 或 两个操作数有一个为true,结果为true,否则为false
! 非 取反,
&& 与 两个真才为真
|| 或 有一个真就为真
! 非 直接去反
关系运算符(比较运算符)
大于(>),小于(<),小于等于(<=),大于等于(>=),相等(==),不等(!=),恒等(===),不全等(!==)
==与===的区别:==只进行值得比较,===类型和值同时相等,则相等
var result = '55' == 55; // true
var result = '55' === 55; // false 值相等,类型不相等
var result = 55 === 55; // true
赋值运算符
= += -= *= /= %=
例如:
var num = 0;
num += 5; 相当于 num = num + 5;
短路运算
// 1. 用我们的布尔值参与的逻辑运算 true && false == false
// 2. 123 && 456 是值 或者是 表达式 参与逻辑运算?
// 3. 逻辑与短路运算 如果表达式1 结果为真 则返回表达式2 如果表达式1为假 那么返回表达式1
console.log(123 && 456); // 456
console.log(0 && 456); // 0
console.log(0 && 1 + 2 && 456 * 56789); // 0
console.log('' && 1 + 2 && 456 * 56789); // ''
// 如果有空的或者否定的为假 其余是真的 0 '' null undefined NaN
// 4. 逻辑或短路运算 如果表达式1 结果为真 则返回的是表达式1 如果表达式1 结果为假 则返回表达式2
console.log(123 || 456); // 123
console.log(123 || 456 || 456 + 123); // 123
console.log(0 || 456 || 456 + 123); // 456
// 逻辑中断很重要 它会影响我们程序运行结果思密达
var num = 0;
console.log(123 || num++);
console.log(num); // 0