js第二天
比较运算符
==左右两边值是否相等
===左右两边值和类型是否全相等
!==左右两边是否类型和值全不相等
undefin === null
NaN === NaN(错误,NaN不等于任何值)
=单等是赋值
==双等是判断
===三等是全等,开发中判断是否相等,一般用全等。
console.log 先比较'a'和'a',相同再比较'a'和'b',发现'a'()97小于'b'(98).所以true
'aa'<'aac'
逻辑运算符
与或非
console.log(true && true);console.log(false && true);console.log(false || true);
语句
表达式可以被求值,语句不一定有值。
分支语句
包含if 、三元运算符、Switch
if (1) {console.log(666);}if (3 > 5) {console.log(777);}if (2 === '2') {console.log(888);}
输出666.
除了0,所有数字都为真。所有字符串都为真,但是空字符串为假。
if
<script>let score = +prompt("请输入高考成绩:")if (score >= 700) {alert('恭喜考入山农带专')}else alert('滚回去复读吧')</script>
实例:
输入用户名和密码,判断是否登录成功
<script>alert('现在是注册阶段')let name = prompt('请输入用户名')let pwd = prompt('请输入密码')alert('注册成功')let uname = prompt('请输入用户名')let upwd = prompt('请输入密码')if (uname === name && upwd === pwd) {alert('信息正确')}else alert('用户名或密码错误')</script>
<script>let grade = +prompt('Please input grade')if (grade >= 90) {alert('优秀')}else if (grade >= 80) {alert('良好')}else if (grade >= 60) {alert('及格')}else {alert('不及格')}</script>
三元运算符
条件?满足条件执行的代码:不满足条件执行的代码
3 < 5 ? alert('真的') : alert('假的')
<script>let num1 = +prompt('please input number 1')let num2 = +prompt('please input number 2')num1 > num2 ? alert(`最大值为${num1}`) : alert(`最大值为${num2}`)</script>
数字补0案例
<script>let num = +prompt('input a number')num >= 10 ? alert(`${num}`) : alert(`0${num}`)</script>
<script>let num = prompt('input a number')num = num < 10 ? 0 + num : numalert(num)</script>
计算器
<script>let a = +prompt('请输入第一个数')let ysf = prompt('请输入运算符')let b = +prompt('请输入第二个数')switch (ysf) {case '+':alert(`${a}+${b}=${a + b}`)break;case '-':alert(`${a}-${b}=${a - b}`)break;case '*':alert(`${a}*${b}=${a * b}`)break;case '/':alert(`${a}/${b}=${a / b}`)break;default:alert('输入错误')}</script>
循环
let i = 1;while (i <= 3) {document.write('666<br>')i++}
小案例
<script>let i = 1;let sum = 0;while (i <= 100) {document.write(`${i}<br>`)i++sum += i;}document.write(`${sum}<br>`);let a = 0i = 1while (i <= 100) {if (i % 2 == 0) {a += i;}i++}document.write(a)</script>
跳出循环
<script>let i = 1while (i <= 5) {if (i === 3) {break}console.log(`吃了第${i}个包子`);i++}</script>
<script>let i = 1while (i <= 5) {if (i === 3) {i++continue}console.log(`吃了第${i}个包子`);i++}</script>
注意continue上面若不加i++的话,会变成死循环,因为continue跳转到i<=5,但不执行下面的i++ ,导致i永远等于3.
小例子:
<script>while (true) {let str = prompt('你爱我吗')if (str === '爱') {break}}</script>
银行卡:
<script>let money = 100while (true) {let choose = + prompt(`请选择操作:1.存钱2.取钱3.查看余额4.退出`)if (choose === 4) {break}switch (choose) {case 1:let plus = +prompt('请输入存入的金额')money += plusbreakcase 2:let subtract = +prompt('请输入取款金额')money -= subtractbreak;case 3:alert(`余额为${money}`)break}}</script>