js 语句
表达式和语句
- 表达式一般都有值,语句可能有也有可能没有
- 语句一般会改变环境(声明、赋值)
- 上面两句话并不是绝对的
JavaScript 大小写是敏感的
大部分空格和回车没有实际意义,只有一个地方不能加回车,那就是 return 后面
错误警告:uncaught SyntaxError: Invalid or inexpected token(语法错误)
if 语句
- 语法 if(表达式){语句}else{语句 2} {}在语句只有一句的时候可以省略,但是不建议这样做
let a = 1;
if (a === 1) {
//这里写三个等于号,一个等于号是赋值的意思
console.log("a是1");
} else {
console.log("a不是1");
}
a = 2;
if (a === 1) console.log("a是1");
console.log("a是2");
结果a是2;
因为实际是这样;
a = 2;
if (a === 1) {
console.log("a是1");
}
console.log("a是2");
switch 语句
- 语法
switch (fruit) {
case "banana":
case "banana1":
break;
case "apple":
case "apple1":
break;
default:
}
- break 大部分的时候不能省略 break
问号冒号表达式
- 语法
表达式 1?表达式 2:表达式 3
functionmax(a,b){
if(a>b){
return a;
}else{
return b;
}
}
用问号冒号表达式简化之后的效果
function max(a,b){
return a>b ? a: b
}
&&短路逻辑
- 语法
A && B && C && D 取第一个假值或 D,并不会取 true/false
if (windows.f1) {
console.log("f1存在");
}
用 && 简化的效果;
windows.f1 && console.log("f1存在"); //&&前面为真就以后面为主,如果前面为假,就以前面为主
||短路逻辑
- 语法
A || B || C || D 取第一个真值或 D,并不会取 true/false
if (a) {
a = a;
} else {
a = 100;
}
a = a || 100;
while 语法
- while(表达式){语句}
- 判断表达式的真假,执行完在此判断表达式的真假
- 当表达式为真,执行语句;如果表达式为假,就执行后面的语句。
- 其他(do...while)
var i = 0;
while (i < 10) {
console.log(i);
i = i + 1;
}
输出的结果为:1-9
特例无限循环(浮点数)
例子一
var a = 0.1;
while ((a = 1)) {
a = a + 0.1;
}
例子二
while(true){ }
for 循环
- 语法
for(语句 1; 表达式 2; 语句 3){ 循环体 }
- 先执行语句 1
- 然后判断表达式 2
- 如果为真,就执行循环体,再执行语句 3
- 如果为假,直接退出循环,执行语句 3
- 直到表达式2不成立再退出循环
for(var i =0 ;i < 5 ; i++){//这时i的值已经是5,所以要执行5次
setTimeout(()=>{
console.log(i)
},0)
}
输出结果为:5个5;
break 和 continue 语句(break 退出当前最近的循环;continue 退出这次循环)
for (var a = 1; a < 10; a++) {
if (a % 2 === 1) {//当a为单数
break;
}
}
输出结果a=1
for (var a = 1; a < 10; a++) {
if (a % 2 === 1) {//当a为单数
continue;
}else{
console.log(a)
}
}
输出结果为:2,4,6,8
label
- 语法
foo: {
console.log(1);
break foo;
console.log('本行不会输出')
}
console.log(2);
- 面试
{ foo:1 }