运算符

//【运算符】
//[一元运算符]
/**

  • 原理:++在前,先自增,再使用
    /
    // 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)
//     );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值