JavaScript中如何处理不同数字类型运算符间的运算结果?

2026-04-28 13:331阅读0评论SEO资源
  • 内容介绍
  • 相关推荐

本文共计778个文字,预计阅读时间需要4分钟。

JavaScript中如何处理不同数字类型运算符间的运算结果?

JavaScript中不同数字类型运算符的操作,例如整数和字符串类型比较大小,比较是否全等。不同数据类型的取反,两个表达式的取与、取或操作。不同数字类型运算符的操作,比较运算符。

JavaScript中不同数字类型运算符之间的操作,例如整形和字符串型比大小,比较是否全等。不同数据类型的取反,两个表达式的取与,取或。 不同数字类型运算符之间的操作

比较运算符 : > ,< >= , <= ,== ,!=, =, !,返回值是布尔类型

  1. 都是number型,大小进行比较
  2. 都是string型,按位按照ASCII表[^ASCLL]进行比较
  3. number,string :隐式调用Number()把string 转为number进行计算
  4. ==:值相等
  5. ===:值相等,数据类型相同

console.log(2 > "100"); //false "100"转为 100 与2进行比较 console.log("234" > "100"); //true 这种比较为ASCII码比较,依次取每个字符,字符转为ASCII码进行比 较 console.log("15" > "9"); //false console.log(15 > 9); //ture console.log(12 == "12"); //true console.log(1 == true); //ture Number(true)转换成1 console.log(0 === false); //false console.log(0 == undefined); //false Number(undefined)转换成NaN console.log(0 == ""); //true console.log(0 == " "); //true

算术运算符:+,-,*,/,%,++,--,**

JavaScript中如何处理不同数字类型运算符间的运算结果?

console.log(1 + 133); //134 console.log(1 + "133"); //1133 console.log(1 - "133"); //-132 console.log(1 - "abc"); //NAN 直接是非数字类型

逻辑运算符:隐式调用Boolean()判断真假

  1. 0,false,null,undefined,NaN,"" 这些为假
  2. &&:返回第一个假值,运用(短路原则)会返回第一个假值
  3. ||: 返回第一个真值(短路原则)

var num = 10, bool = true, str = "abc"; console.log(num && bool && 0); //0 console.log(num && str); //"abc" console.log(bool && str); //"abc" console.log(0 && str); //0 console.log(false && num); //false console.log(undefined && num); //undefined console.log(str && false); //false console.log(0 && ""); //0 console.log("" && 0); // "" console.log(num || bool || 0); //10 console.log(num || str); //10 console.log(bool || str); //true console.log(0 || str); //"abc" console.log(false || num); //10 console.log(undefined || num); //10 console.log(str || false); //10 console.log(0 || ""); //"" 没真值,只能返回第二个 console.log("" || 0); //0

取反:!

真变假假变真

var num = 10, bool = true, str = "abc"; console.log(!true); //false console.log(!0); //true console.log(!str); //false

短路的代码不会执行

console.log(str && num++); //10 && 期望返回第一个假值,没有假值,就返回最后一个真值,两个都是真值,返回第二个num++ console.log(num); //11 console.log(false && ++num); //false console.log(num); //11 被短路的代码不运行了,所以还是11 console.log(num++ || 0); //11 最后做自增运算 12 console.log(0 || ++num); //13 console.log(0 || str > num); //fales 返回 str>num 的结果NaN console.log(num); //13

本文共计778个文字,预计阅读时间需要4分钟。

JavaScript中如何处理不同数字类型运算符间的运算结果?

JavaScript中不同数字类型运算符的操作,例如整数和字符串类型比较大小,比较是否全等。不同数据类型的取反,两个表达式的取与、取或操作。不同数字类型运算符的操作,比较运算符。

JavaScript中不同数字类型运算符之间的操作,例如整形和字符串型比大小,比较是否全等。不同数据类型的取反,两个表达式的取与,取或。 不同数字类型运算符之间的操作

比较运算符 : > ,< >= , <= ,== ,!=, =, !,返回值是布尔类型

  1. 都是number型,大小进行比较
  2. 都是string型,按位按照ASCII表[^ASCLL]进行比较
  3. number,string :隐式调用Number()把string 转为number进行计算
  4. ==:值相等
  5. ===:值相等,数据类型相同

console.log(2 > "100"); //false "100"转为 100 与2进行比较 console.log("234" > "100"); //true 这种比较为ASCII码比较,依次取每个字符,字符转为ASCII码进行比 较 console.log("15" > "9"); //false console.log(15 > 9); //ture console.log(12 == "12"); //true console.log(1 == true); //ture Number(true)转换成1 console.log(0 === false); //false console.log(0 == undefined); //false Number(undefined)转换成NaN console.log(0 == ""); //true console.log(0 == " "); //true

算术运算符:+,-,*,/,%,++,--,**

JavaScript中如何处理不同数字类型运算符间的运算结果?

console.log(1 + 133); //134 console.log(1 + "133"); //1133 console.log(1 - "133"); //-132 console.log(1 - "abc"); //NAN 直接是非数字类型

逻辑运算符:隐式调用Boolean()判断真假

  1. 0,false,null,undefined,NaN,"" 这些为假
  2. &&:返回第一个假值,运用(短路原则)会返回第一个假值
  3. ||: 返回第一个真值(短路原则)

var num = 10, bool = true, str = "abc"; console.log(num && bool && 0); //0 console.log(num && str); //"abc" console.log(bool && str); //"abc" console.log(0 && str); //0 console.log(false && num); //false console.log(undefined && num); //undefined console.log(str && false); //false console.log(0 && ""); //0 console.log("" && 0); // "" console.log(num || bool || 0); //10 console.log(num || str); //10 console.log(bool || str); //true console.log(0 || str); //"abc" console.log(false || num); //10 console.log(undefined || num); //10 console.log(str || false); //10 console.log(0 || ""); //"" 没真值,只能返回第二个 console.log("" || 0); //0

取反:!

真变假假变真

var num = 10, bool = true, str = "abc"; console.log(!true); //false console.log(!0); //true console.log(!str); //false

短路的代码不会执行

console.log(str && num++); //10 && 期望返回第一个假值,没有假值,就返回最后一个真值,两个都是真值,返回第二个num++ console.log(num); //11 console.log(false && ++num); //false console.log(num); //11 被短路的代码不运行了,所以还是11 console.log(num++ || 0); //11 最后做自增运算 12 console.log(0 || ++num); //13 console.log(0 || str > num); //fales 返回 str>num 的结果NaN console.log(num); //13