//【运算符】
//[一元运算符]
/**
- 原理:++在前,先自增,再使用
/
// let num1 = 1;
// let num2 = ++num1;
// console.log(num2:${num2}
); //2
// console.log(num1:${num1}
); //2
/* - 原理:++在后,先使用,再自增
/
// let num1 = 1;
// let num2 = num1++;
// console.log(num2:${num2}
); //1
// console.log(num1:${num1}
); //2
/* - 自减原理:–在后,先使用,再自减
- 自减原理:–在前,先自减,再使用
*/
// let num5 = 100;
// --num5;
// console.log(num5); //99
//注:只有自增、自减在表达式中,才考虑先后顺序。
//[算数运算符]
// let i = 1;
// let j = 2;
// let k = i + j;
// console.log(k); //3
// k = i - j;
// console.log(k); //-1
// k = i * j;
// console.log(k); //2
// k = i / j;
// console.log(k); //0.5
// k = i % j;
// console.log(“F70:”, k); //1
//算数运算符【简写方式】
// k = k+3;
// k+=3;
// k = k-3;
// k-=3;
// k = k3;
// k=3;
// k = k/3;
// k/=3;
// k = k%3;
// k%=3;
// let F70 = 123;
// console.log(F70); //123
// F70–;
// console.log(F70); //122
// F70 = “123a”;
// F70–;
// console.log(F70); //NaN
/**
- [比较运算符] 返回的布尔值
- 大于 >
- 小于 <
- 等于 ==
- 大于等于 >=
- 小于等于 <=
- 不等于 !=
- 全等 ===
- 不全等 !==
*/
// let i = 1;
// let j = 2;
// console.log(i == j); //false
// let k = “2”;
// console.log(j == k); //true
// console.log(i == true); //true
// console.log(i == “1”); //true
// i = 0;
// console.log(i == false); //true
// i = undefined;
// console.log(“un1”, i == false); //false
// console.log(“un2”, i == 0); //false
// i = null;
// console.log(“null1”, i == false); //false
// console.log(“null2”, i == 0); //false
// console.log(null == undefined); //true
//undefined是由null衍生而来
// let account1 = “F70”;
// let pwd1 = false;
// let inputAccount = “F71”;
// let inputPWD = 0;
// console.log(inputAccount == account1); //false
// console.log(inputPWD == pwd1); //true
//NaN不等于任何值,包括它自己
//注:判断是不是非数字使用:isNaN()
// console.log(NaN == 123); //false
// console.log(NaN == “abc”); //false
// console.log(NaN == false); //false
// console.log(NaN == true); //false
// console.log(NaN == undefined); //false
// console.log(NaN == null); //false
// console.log(NaN == NaN); //false
//字符串比较是按位比较(非数字比较ASC码)
// console.log(“a” < “b”); //true
// console.log(“c” > “b”); //true
// console.log(“c” > “C”); //true
// console.log(“123a” > “123b”); //false
// console.log(“123a” > “113b”); //true
// console.log(123 > “123a”); //false 与NaN都是false
//全等:值和类型都要相同才返回true
// console.log(123 == “123”); //true
// console.log(123 === “123”); //false
//[逻辑运算符]
/**
- 非 与 或
- 非 书写格式: !表达式/标示符
- 功能:取反
*/
// console.log(!true); //false
// console.log(!123); //false
// console.log(!null); //true
// console.log(!1 + 2); //2
//[与运算] && 一假全假
/**
- 【扩展工作原理】
- 情况1:
- 表达式1&&表达式2
- step1:先判断表达式1的值是不是flase
-
如果是则返回表达式1的值
- step2:若表达式1的值是true,则返回表达式2的值
- 情况2:
- 表达式1&&表达式2&&表达式3…&&表达式n
- step1:先判断表达式1的值是不是flase
-
如果是则返回表达式1的值
- step2:若表达式1的值是true,
-
则判断表达式2的值,是不是true
-
是true,则判断表达式3,以此类推。
-
是false,则返回表达式2的值,以此类推。
*/
// console.log(true && true); //true
// console.log(true && false && true); //false
// //[或运算] || 一真全真
// console.log(false || false); //false
// console.log(false || false || true); //true
/**
- 【位运算符】
- | 和 &
- 先把表达式内容转换二进制,按位运算后再转十进制输出
- 十进制 二进制 十进制
- 1 01
- 2 10
- |运算 11 3
- 1 01
- 2 10
- &运算 00 0
*/
// console.log(1 || 2); //1
// console.log(1 && 2); //2
// console.log(1 | 2); //3
// console.log(1 & 2); //0
//【三目运算符】
// 书写格式: 表达式1(条件) ? 表达式2 : 表达式3;
// console.log(请输入第1个数字:
);
// let inputNum1 = rs.question() - 0;
// console.log(请输入第2个数字:
);
// let inputNum2 = rs.question() - 0;
// inputNum1 > inputNum2
// ?
// console.log(您输入的两个数中最大值为:${inputNum1}
)
// :
// console.log(您输入的两个数中最大值为:${inputNum2}
);
// console.log(请输入第3个数字:
);
// let inputNum3 = rs.question() - 0;
// (inputNum1 > inputNum2 && inputNum1 > inputNum3) ?
// console.log(inputNum1):
// (
// inputNum2 > inputNum3 ?
// console.log(inputNum2) :
// console.log(inputNum3)
// );
//【运算符】
//[一元运算符]
/**
* 原理:++在前,先自增,再使用
*/
// let num1 = 1;
// let num2 = ++num1;
// console.log(`num2:${num2}`); //2
// console.log(`num1:${num1}`); //2
/**
* 原理:++在后,先使用,再自增
*/
// let num1 = 1;
// let num2 = num1++;
// console.log(`num2:${num2}`); //1
// console.log(`num1:${num1}`); //2
/**
* 自减原理:--在后,先使用,再自减
* 自减原理:--在前,先自减,再使用
*/
// let num5 = 100;
// --num5;
// console.log(num5); //99
//注:只有自增、自减在表达式中,才考虑先后顺序。
//[算数运算符]
// let i = 1;
// let j = 2;
// let k = i + j;
// console.log(k); //3
// k = i - j;
// console.log(k); //-1
// k = i * j;
// console.log(k); //2
// k = i / j;
// console.log(k); //0.5
// k = i % j;
// console.log("F70:", k); //1
//算数运算符【简写方式】
// k = k+3;
// k+=3;
// k = k-3;
// k-=3;
// k = k*3;
// k*=3;
// k = k/3;
// k/=3;
// k = k%3;
// k%=3;
// let F70 = 123;
// console.log(F70); //123
// F70--;
// console.log(F70); //122
// F70 = "123a";
// F70--;
// console.log(F70); //NaN
/**
* [比较运算符] 返回的布尔值
* 大于 >
* 小于 <
* 等于 ==
* 大于等于 >=
* 小于等于 <=
* 不等于 !=
* 全等 ===
* 不全等 !==
*/
// let i = 1;
// let j = 2;
// console.log(i == j); //false
// let k = "2";
// console.log(j == k); //true
// console.log(i == true); //true
// console.log(i == "1"); //true
// i = 0;
// console.log(i == false); //true
// i = undefined;
// console.log("un1", i == false); //false
// console.log("un2", i == 0); //false
// i = null;
// console.log("null1", i == false); //false
// console.log("null2", i == 0); //false
// console.log(null == undefined); //true
//undefined是由null衍生而来
// let account1 = "F70";
// let pwd1 = false;
// let inputAccount = "F71";
// let inputPWD = 0;
// console.log(inputAccount == account1); //false
// console.log(inputPWD == pwd1); //true
//NaN不等于任何值,包括它自己
//注:判断是不是非数字使用:isNaN()
// console.log(NaN == 123); //false
// console.log(NaN == "abc"); //false
// console.log(NaN == false); //false
// console.log(NaN == true); //false
// console.log(NaN == undefined); //false
// console.log(NaN == null); //false
// console.log(NaN == NaN); //false
//字符串比较是按位比较(非数字比较ASC码)
// console.log("a" < "b"); //true
// console.log("c" > "b"); //true
// console.log("c" > "C"); //true
// console.log("123a" > "123b"); //false
// console.log("123a" > "113b"); //true
// console.log(123 > "123a"); //false 与NaN都是false
//全等:值和类型都要相同才返回true
// console.log(123 == "123"); //true
// console.log(123 === "123"); //false
//[逻辑运算符]
/**
* 非 与 或
*
* 非 书写格式: !表达式/标示符
* 功能:取反
*
*/
// console.log(!true); //false
// console.log(!123); //false
// console.log(!null); //true
// console.log(!1 + 2); //2
//[与运算] && 一假全假
/**
* 【扩展工作原理】
* 情况1:
* 表达式1&&表达式2
* step1:先判断表达式1的值是不是flase
* 如果是则返回表达式1的值
* step2:若表达式1的值是true,则返回表达式2的值
*
* 情况2:
* 表达式1&&表达式2&&表达式3...&&表达式n
* step1:先判断表达式1的值是不是flase
* 如果是则返回表达式1的值
* step2:若表达式1的值是true,
* 则判断表达式2的值,是不是true
* 是true,则判断表达式3,以此类推。
* 是false,则返回表达式2的值,以此类推。
*/
// console.log(true && true); //true
// console.log(true && false && true); //false
// //[或运算] || 一真全真
// console.log(false || false); //false
// console.log(false || false || true); //true
/**
* 【位运算符】
* | 和 &
* 先把表达式内容转换二进制,按位运算后再转十进制输出
* 十进制 二进制 十进制
* 1 01
* 2 10
* |运算 11 3
* 1 01
* 2 10
* &运算 00 0
*/
// console.log(1 || 2); //1
// console.log(1 && 2); //2
// console.log(1 | 2); //3
// console.log(1 & 2); //0
//【三目运算符】
// 书写格式: 表达式1(条件) ? 表达式2 : 表达式3;
// console.log(`请输入第1个数字:`);
// let inputNum1 = rs.question() - 0;
// console.log(`请输入第2个数字:`);
// let inputNum2 = rs.question() - 0;
// inputNum1 > inputNum2
// ?
// console.log(`您输入的两个数中最大值为:${inputNum1}`)
// :
// console.log(`您输入的两个数中最大值为:${inputNum2}`);
// console.log(`请输入第3个数字:`);
// let inputNum3 = rs.question() - 0;
// (inputNum1 > inputNum2 && inputNum1 > inputNum3) ?
// console.log(inputNum1):
// (
// inputNum2 > inputNum3 ?
// console.log(inputNum2) :
// console.log(inputNum3)
// );