22.22.尚硅谷_JS基础_关系运算符
一、概念:
- 通过关系运算符可以比较两个值之间的大小关系,
- 如果关系成立它会返回true,如果关系不成立则返回false。
二、具体分类:
1、大于号(>)和大于等于号(>=)
大于号(>)
- 判断符号左侧的值是否大于右侧的值
- 如果关系成立,返回true,如果关系不成立则返回false
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
var a = 10 > 9//true
console.log("a = "+ a)
var a = 10 > 15//false
console.log("a = "+ a)
var a = 9 > 9//false
console.log("a = "+ a)
var a = 10 > 10//false
console.log("a = "+ a)
</script>
</head>
<body>
</body>
</html>
大于等于号(>=)
- 判断符号左侧的值是否大于或等于右侧的值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
var a = 10 >= 9//true
console.log("a = "+ a)
var a = 17 >= 15
console.log("a = "+ a)
var a = NaN >= 9
console.log("a = "+ a)
var a = 10 >= 100
console.log("a = "+ a)
</script>
</head>
<body>
</body>
</html>
2、小于号(<)和小于等于号(<=)
自己参考大于号
3、非数制的情况下:
对于非数制进行比较时,会将其转换为数字然后再比较。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
console.log(1 > true);
console.log(1 >= true);
console.log(1 > "0");
</script>
</head>
<body>
</body>
</html>
特殊情况:==任何值和NaN做任何比较false==
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
console.log(10 > null);
console.log(10 < null);
console.log(10 <= null);
</script>
</head>
<body>
</body>
</html>
4、两边都是字符串:
- 如果符号两侧的值都是==字符串==中,==不会将其转换为数字==进行比较,而会分别==比较字符串中字符的Unicode编码==。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
console.log("1" < "5");//true
console.log("11" < "5");//true
console.log("a" > "b");//false
// 比较两个字符串时,比较的是字符串的字符编码。
console.log("a" < "b");//true
</script>
</head>
<body>
</body>
</html>
- 比较字符编码时,==是一位一位进行比较。==
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
//比较字符编码是一位一位进行比较。
console.log("abc" < "b")//true
</script>
</head>
<body>
</body>
</html>
- 如果两位一样,则比较下一位,可以借用它来对==英文==进行排序
- 注意:比较中文的时候没有意义
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
//如果两位一样,则比较下一位
console.log("bbc" < "b")//true
//比较中文的时候没有意义
console.log("我" > "你")
</script>
</head>
<body>
</body>
</html>
5、两个字符串型的数字:
- 如果比较的两个字符串型的数字,可能会得到不可预测的结果。
- 在比较连个字符串型的数字是,一定一定要转型。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
//如果比较的两个字符串型的数字,可能会得到不可预测的结果。
console.log("11323456789" < "5")//true
//注意:在比较连个字符串型的数字是,一定一定要转型。
console.log("11323456789" < +"5")//true
</script>
</head>
<body>
</body>
</html>