js基本语法

151 阅读2分钟

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)
}

输出结果为:55

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)
  }
}

输出结果为:2468

label

  • 语法
foo: {
  console.log(1);
  break foo;
  console.log('本行不会输出')
}
console.log(2);
  • 面试

{ foo:1 }