<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
// 案例练习
/*
运算符优先级:
括号()
++;--;!
*;/;%
+;-;
<;>;<=;>=
==;===;!=;!==
&&;
||;
?
*/
//字符串类型的数据:在进行数学运算(- * / %)时,会先将自身隐式转换(Number)成数值类型再进行计算
// 在进行+操作时,是字符串的拼接
// 任意数据类型和NaN做数学运算,结果都是NaN,
// 但是注意只要是字符串在和任意数据类型做相加+的运算,都是字符串拼接。
console.log('2' - '1'); //输出结果为1
console.log('2' - 1); //输出结果为1
console.log('2' * 1); //输出结果为2
console.log('2' / 3); //输出结果为6
console.log('2' % 3); //输出结果为2
console.log('2' + '1'); //输出结果为21
console.log('1' + 3); //输出结果为13
console.log('2' - '嘿嘿'); //输出结果为NaN
console.log('1' - '2abc'); //输出结果为NaN
console.log('嘿嘿' + '1a'); //输出结果为嘿嘿1a
console.log('嘿嘿' + NaN); //输出结果为嘿嘿NaN
console.log('嘿嘿' + 5 * '6'); //输出结果为嘿嘿30
console.log(('嘿嘿' + 5) * '6') //输出结果为NaN
// 布尔类型的数据:在进行数学运算(+ - * / %)时,会先将自身隐式转换(Number)成数值类型再进行计算
console.log(true + true); //输出结果为2
console.log(true + 5); //输出结果为6
console.log(true + '8'); //输出结果为9
console.log(true - '8'); //输出结果为-7
console.log(false - 3); //输出结果为-3
console.log(false - 3 * '哈哈'); //输出结果为NaN
// 未定义类型的数据:在进行数学运算(+ - * / %)时,会先将自身隐式转换(Number)成数值类型再进行计算
console.log(undefined + undefined); //输出结果为NaN
console.log(undefined + 1); //输出结果为NaN
console.log(undefined + '5' + '哈哈'); //输出结果为undefined5哈哈
//空类型的数据:在进行数学运算(+ - * / %)时,会先将自身隐式转换(Number)成数值 类型再进行计算
console.log(null + true); //输出结果为1
console.log(null + 5); //输出结果为5
console.log('null' + (null - 3) + undefined); //输出结果为null-3undefined
console.log(5 > 3); //输出结果为true
console.log(5 > '3'); //输出结果为true
console.log('5' < true); //输出结果为false
console.log(5 > '6哈哈'); //输出结果为false
console.log('a' < 'ab'); //输出结果为true
console.log('ab' < 'bz'); //输出结果为true
console.log('100' < 'a'); //输出结果为true
console.log('5' == 5); //输出结果为true
console.log(1 == true); //输出结果为true
console.log(1 === true); //输出结果为false
console.log(0 == false); //输出结果为true
console.log(null < 1); //输出结果为true
// 特殊的
// null和undefined相等 其余的所有的都和null不等
console.log(null == 0); //输出结果为false
console.log(null == ' '); //输出结果为false
console.log(null == ''); //输出结果为false
console.log(null == false); //输出结果为false
console.log(null == undefined); //输出结果为true
console.log(undefined + null * '-10' + 100 > 90); //输出结果为false
console.log(null * undefined + null + '嘿嘿'); //输出结果为NaN嘿嘿
console.log(true + 'undefined' - undefined + '5'); //输出结果为NaN5
console.log((5 + true > true) + 5 > true); //输出结果为true
console.log(!true - '5' + 8 + parseInt('4嘿嘿')); //输出结果为7
console.log((!false - !null) * parseInt('3.14') + ''); //输出结果为0
console.log(5 > 3 && 5 > 4); //输出结果为true
var a = 5 > 3 && 5 > 4 && 5 > 6;
console.log(a); //输出结果为false
console.log(5 > 3 && 5 < 4 && 5 > 6); //输出结果为false
console.log(5 > 3 || 5 > 6); //输出结果为true
console.log(5 < 3 || 5 < 6 || 5 < 8); //输出结果为true
// && 与 如果前面的表达式结果是true,
// 返回的是后面表达式的数据,如果前面的表达式结果是false,直接返回数据
console.log(5 && 8); //输出结果为8
console.log(0 && 8); //输出结果为0
console.log(Boolean(5) && Boolean(8)); //输出结果为true
console.log(Boolean(0) && Boolean(8)); //输出结果为false
console.log(null && '红浪漫'); //输出结果为null
console.log(5 + 3 && 5 + 4); //输出结果为9
console.log(true == 5 > 3); //输出结果为true
console.log('' && NaN); //输出结果为空字符串
console.log(' ' && NaN); //输出结果为NaN
console.log('红浪漫' && 10 + false && '张三'); //输出结果为张三
console.log(' ' && 10 + '红浪漫' && 5 > null); //输出结果为true
console.log(' ' && 10 - '红浪漫' && 1.3245644564464 + 2.14335334533553 + 32.433433533535); //输出结果为NaN
console.log(5 || 3); //输出结果为5
console.log(0 || NaN); //输出结果为NaN
console.log(' ' || 10 + '红浪漫' || 5 > null); //输出结果为空格
console.log('' || 10 - '红浪漫' || 5 > null); //输出结果为true
var b;
console.log(5 - undefined || 10 + undefined * null || 5 * b); //输出结果为NaN
console.log(!(5 > 3)); //输出结果为false
console.log(!5); //输出结果为false
console.log(!'哈哈'); //输出结果为false
console.log(!undefined); //输出结果为true
console.log(!5 > 3); //输出结果为false
console.log(!'' + 5 + !null); //输出结果为7
console.log(5 || 3 && '哈哈'); //输出结果为5
console.log((5 || 3) && '哈哈'); //输出结果为哈哈
var f;
console.log(!'红浪漫' + NaN || !10 + null * '5' && '8' * !f); //输出结果为0
console.log(' ' + true && !('红浪漫' - 8) || ' ' - 1 && !undefined + null); //输出结果为true
console.log(!Number(' ') + true && Boolean('红浪漫') - 8 || ' ' - 1 && !undefined+ !(5+ 3)); //输出结果为-7
</script>
</body>
</html>
2021-08-02运算符练习
最新推荐文章于 2024-08-05 21:39:45 发布