又是i++和++i
let i = 1;
alert(i++ + ++i + i) //7
比较运算符
比较运算符的使用
alert(5 == "5") //true
alert(5 === "5") //false
alert(5 !== "5") //true
- 字符串比较,是比较的字符对应的ASCII码
从左往右依次比较
如果第一位一样再比较第二位,以此类推
比较的少,了解即可 - NaN不等于任何值,包括它本身
- 尽量不要比较小数,因为小数有精度问题
- 不同类型之间比较会发生隐式转换
最终把数据隐式转换转成number
类型再比较
所以开发中,如果进行准确的比较我们更喜欢 === 或者 !==
if语句
注意括号的使用。
三元运算符
判断两个数的最大值
let first = +prompt("第一个数:")
let second = +prompt("第二个数:")
alert(first > second ? first : second)
注意:这里的prompt
前面的+
号很有必要,隐式转换成Number
类型。(否则依次输入5,10输出最大结果是5
,因为是字符串比较)
switch语句
注意:switch
中的数据要和case
中的值是全等的
while语句
//while循环简易ATM机
let total = 0; //定义在script块级中的全局变量
let money = 0; //定义在script块级中的全局变量
while (true) {
let i = +prompt(`请选择您的操作:
1.存款
2.取款
3.查看余额
4.退出`)
if (i === 4) {
break //跳出while循环
}
switch (i) {
case 1:
money = +prompt("请输入您的存款金额:")
total += money
break //跳出switch循环
case 2:
money = +prompt("请输入您的取款金额:")
total -= money
break //跳出switch循环
case 3:
alert(total)
}
}
for循环语句乘法表
<style>
div {
display: inline-block;
height: 25px;
line-height: 25px;
margin: 5px;
background-color: pink;
padding: 0 10px;
border: 1px solid hotpink;
color: deeppink;
border-radius: 5px;
box-shadow: 2px 2px 2px rgba(0, 0, 0, .2);
text-align: center;
}
</style>
</head>
<body>
<script>
// 外层打印几行
for (let i = 1; i <= 9; i++) {
// 里层打印几个星星
for (let j = 1; j <= i; j++) {
// 只需要吧 ★ 换成 1 x 1 = 1
document.write(`<div> ${j} x ${i} = ${j * i} </div>`)
}
document.write('<br>')
}
</script>
</body>