javascipt比较运算符有哪些(js比较函数的使用方法)
导语:JavaScript比较运算符
JavaScript 语言中有两种比较方式,转换类型比较运算符 == 和严格比较运算符 ===。其中严格比较运算符仅当两个操作数的类型相同且值相等时才为true。而转换类型比较运算符== 会在进行比较之前,将两个操作数转换成相同的类型,再来比较。
比较运算符常用语逻辑语句中,它主要是用语判定变量或者值是否相等。
相等运算符
相等运算符 == 会为两个不同类型的操作数转换类型,然后进行严格比较。
示例:
console.log(1 == 1); // trueconsole.log(1 == 2); // falseconsole.log(1 == true); // trueconsole.log(1 == &39;); // true
从上述代码中的1 == &39;,输出结果为 true,就可以看出 == 相等运算符,在对两个操作数进行比较之前,会将两个操作数转换成相同的类型。
当使用比较运算符时,如果其中有布尔类型的操作数,值为 true时会转换为1,值为false时会转换为0。
当两个操作数都是对象时,JavaScript会比较其内部引用,当且仅当他们的引用指向内存中的相同对象时才相等,即他们在栈内存中的引用地址相同。
严格相等运算符
严格相等运算符 === 不会对操作数进行类型转换,只有当值相等并且类型也是相等时才会返回 true。
示例:
console.log(1 === 1); // trueconsole.log(1 === 2); // falseconsole.log(1 === true); // falseconsole.log(1 === false); // falseconsole.log(1 === &39;); // false
从a === c d的比较结果可以看出,不同类型的值进行比较时,会返回 false。
不等运算符
不等运算符 != 只有当操作数不相等时才返回true,如果两操作数不是同一类型,会将操作数转为同意类型再进行比较。
示例:
var a = 1;var b = 2;var c = &39;;console.log(a != 1); // falseconsole.log(a != b); // trueconsole.log(a != c); // false
如果两操作数为对象类型,JavaScript会比较其内部引用地址,仅当他们在内存中引用不同对象时不相等。
严格不等运算符
严格不等运算符 !== 当操作数不相等或不同类型时返回 true。
示例:
var a = 1;var b = 2;var c = &39;;console.log(a !== 1); // falseconsole.log(a !== b); // trueconsole.log(a !== c); // true
大于运算符
大于运算符 > ,只有当左操作数大于右操作数时才返回 true。
示例:
console.log(5 > 1); // trueconsole.log(5 > 10); // falseconsole.log(5 > &39;); // false
大于等于运算符
大于等于运算符 >= ,只有当左操作数大于或者等于右操作数时才返回 true。
示例:
console.log(5 >= 1); // trueconsole.log(5 >= 5); // trueconsole.log(5 >= 10); // falseconsole.log(5 >= &39;); // true
小于运算符
小于运算符 < ,只有当左操作数小于右操作数时才返回 true。
示例:
console.log(5 < 1); // falseconsole.log(5 < 5); // falseconsole.log(5 < 10); // trueconsole.log(5 < &39;); // false
小于等于运算符
小于运算符 < ,只有当左操作数小于或者等于右操作数时才返回 true。
示例:
console.log(5 <= 1); // falseconsole.log(5 <= 5); // trueconsole.log(5 <= 10); // trueconsole.log(5 <= &39;); // true
使用比较运算时的类型转换
当比较运算涉及类型转换时,JavaScript 会按以下规则对字符串、数字、布尔、对象等类型的操作数进行操作:
当操作数有数字类型和字符串类型时,会将字符串转为数字值。当其中一个操作数为布尔型,布尔值为true则转换为1,为false则转换为0。如果一个对象与数字或字符串相比较,JavaScript 会尝试返回对象的默认值。操作符会尝试通过valueOf 和 toString 方法将对象转换为其原始值。如果尝试转换失败,会产生一个运行时错误。动手小练习
请分别用比较运算符和严格比较运算符,来比较10 和 &39;的值是否相等。请说出下列代码的输出结果:console.log(1 <= 3); console.log(true != 5); console.log(&39; >= false); console.log(2 === &39;);console.log(5 == &39;);
本文内容由小馨整理编辑!