1-运算符
01.赋值运算符
- = 赋值运算符
- 将右侧的数据赋值给左侧的变量
let a = 10;
let b = a + 100;
b = b + 200;
let c = 20;
注意: = 是没有比较的功能,
02.算数运算符
%求余运算符,求两个数相除的余数
console.log(5 % 3); // 2
主要用处是判断一个数是不是另一个数的整数倍,可以用于判断奇偶数,如果 x % 2 结果是0 表示是偶数
console.log(9 % 3); //0
- 还有一个就是
*这个很简单
console.log(5 * 3); //15
++自增
let a = 20;
a = a + 1;
a++; 等效于 a = a + 1;
console.log(a);
--自减
let b = 10;
b = b -1 ;
b--; // 等效于 b = b - 1
console.log(b);
小结:
%余两个数相除的余数++自增1运算符--自减1运算符
03.自增与自减
影响的是参与其他运算时
- 前自增
++n:先自增,再参与运算符(使用本次自增后的值参与运算) - 后自增
n++:先运算(使用本次未自增的值参与运算),本次运算结束后在自增。
// ++
// ++可以放在变量前,也可以放在变量后
// ++i 前自增
// i++ 后自增
// 无论前自增,还是后自增,对变量的值是没有影响的,都会加1
let i = 10;
++i;
console.log(i); // 11
let j = 10;
j++;
console.log(j); // 11
// 影响的是参与其他运算时
// 前自增:先自增,再参与运算(使用本次自增后的值参与运算)
// 后自增:先运算(使用本次未自增的值参与运算),本次运算结束后再自增
let i = 10;
let ret1 = ++i; // i = i+1 ret1= i;
let j = 10;
let ret2 =j++; // ret2 = j; j = j+1
console.log(ret1,ret2);
console.log(i,j);
前自增和后自增的应用
let a =10;
let ret1 =a++
let b =10;
let ret2 =++b (先运算,后自增所以运算时是10)
console.log =(ret1+ret2) //21
let a =10
// 10 12 12 14
let ret = a++ + ++a + a++ + ++a // 48
console.log(ret);
04.字符串运算符
- 字符串运算符,主要用于对象字符串进行拼接操作。
+对两个字符串进行拼接成一个新的字符串
let str1 = 'hello';
let str2 = ' world';
console.log(str1); // 输出的就是'hello'
console.log(str2); // 输出的就是' world'
let str3 = str1 + str2; //
console.log(str3); // 输出的就是 'hello world'
+=将新字符串内容追加到后面
let a = 'hello';
//a = a + 'world'
a += ' world';
console.log(a); */
debugger; // 进行调试模式
let str = '<table border="1" rules="all" width="500" height="500">';
str += '<tr>';
str += '<td></td>';
str += '<td></td>';
str += '<td></td>';
str += '<td></td>';
str += '<td></td>';
str += '<td></td>';
str += '</tr>';
str += '</table>';
// console.log(str);
document.write(str)
得到如下一个表格:
05.比较运算符
==判断两个数据的值相同, 相同返回true,否则返回false!=判断两个数据的值不相同,不相同返回true,否则返回false
let a = 10;
let b = 20;
let c = 10;
console.log(a == b); false
console.log(a == c); true
console.log(a != b); true
console.log(a != c); false
字串符也可以进行比较
console.log('hello' == 'hello'); true
console.log('hello' == 'world'); false
===全等比较:比较两个数的值以及类型完全相同,相同的true,不相同的就是false。!==不全等:比较两个数的值与类型至少有一方面不相同,有一个不相同的就是返回true,全相同就返还flase。
console.log(12==='12'); false
console.log(12===11); false
console.log(12!==11); true
console.log(12!=='12'); true
console.log(13!==13); false
全字符也可以进行比较,比较的是编码
console.log(3 > '20'); true
总结
==判断值相等!=判断值不相等===判断值 与 类型 完全相同!==判断值 与 类型 至少有一方面不相同- 关系运算符返回的结果都是布尔值
06.逻辑运算符
- 逻辑运算符:用于对象多个条件进行逻辑判断,
&&逻辑与||逻辑或!逻辑非
&& 逻辑与 口诀:找假 -- 并且
console.log(true && false);
console.log(false && true);
console.log(true && true);
console.log(false && false);
// true false
onsole.log(10 > 5 && 10 > 12); // false
|| 逻辑或 口诀:找真 -- 或者
console.log(true || false); // true
console.log(false || true); // true
console.log(true || true); // true
console.log(false || false); // false
逻辑运算符的短路
// JS设计者设计的与逻辑&& ||的一种规则。
let a = 10;
let ret = false && ++a;
console.log(a);
逻辑与短路:
根据逻辑与的口诀,找假
左侧为false,右侧主没有必再进行一次运算,所以右侧++a没有被计算,相当于被短路。
let b = 10;
let ret1 = true || ++b;
console.log(b);
逻辑或短路:
根据逻辑或的口诀,找真
左侧为true,右侧主没有必再进行一次运算,所以右侧++b没有被计算,相当于被短路。
// 小结:
短路有两种:
逻辑与: false && 被短路
逻辑或: true || 被短路
// 比较运算符 的结果是布尔 值
// 逻辑运算符的结果是什么?哪一侧的数据能决定整个式子的结果就将哪个数据返回?
let ret = 10 || 20; // Boolean(10) true
console.log(ret); // 10
let ret1 = 10 && 20; // Boolean(10) true &&
console.log(ret1); // 20
console.log('猫' || '狗'); // 猫
console.log('猫' && '狗'); // 购
07.逻辑运算符应用
由用户输入一个整数,判断即是3的整数倍,又是5整数倍
let a = prompt('请输入一个数');
if (a % 3 ==0 && a % 5 == 0){ //条件式
alert (true); //条件符合的话 就执行 true
} else{ //否者 执行下一步
alert(false); // false
}
由用户输入一个整数,判断其是4的整数倍,但不是100整数倍
08.运算符优先级
/*逻辑非
先乘除
后加减
再比较
再逻辑(&&、||)
最后赋值
*/
// 可以使用 () 来提升运算符的优先级
let ret = 10 * (20 + 10) > 300 && 200 < 100;