JS的基本语法

123 阅读2分钟

1. 什么是表达式和语句

区别(下面两句话不是绝对的)

  • 表达式一般都有值,语句可能有也可能没有
  • 语句一般会改变环境(声明、赋值)

表达式

  • 例子:
  • 1+2表达式的值为3
  • add(1,2)表达式的值为函数的返回值(只有函数有返回值)
  • console.log表达式的值为函数本身
  • console.log(3)表达式的值为多少?值是undefined,打印出来的东西是3

语句

  • var a=1 是一个语句

2. 标识符的规则

  • 第一个字符,可以是Unicode字母或$或_或中文
  • 后面的字符除了上面的几种,还可以是数字

3. if else 语句

  • 语法:
if(表达式1){
  语句1
}else if(表达式2){
  语句2
}else{
  语句3
}
  • 解释:如果表达式1成立,进入语句1;否则如果表达式2成立,进入语句2,否则执行语句3

4. while for 语句

while语句

语法: while(表达式){语句}

  • 解释:

  • 判断表达式的真假

  • 当表达式为真,执行语句,执行完在判断表达式的真假

  • 当表达式为假,执行后面的语句 例:

    var a=0.1 //初始化 while(a!==1){ //判断 console.log(a) //循环体 a=a+0.1 //增长 } // 以上代码会变成死循环,因为浮点数不精确导致的

for循环

语法:

for(语句1;表达式2;语句3){ 循环体 }

  • 解释:
  • 先执行语句1
  • 然后判断表达式2
  • 如果为真,执行循环体,然后执行语句3
  • 如果为假,直接退出循环,执行后面的语句 略写语法: for(;表达式2;语句3){循环体}

例子1:

for(var i=0;i<5;i++){
    console.log(i)
}//打印出了0 1 2 3 4 正常执行的话最后那个i会变成5

例子2: for(var i=0;i<5;i++){ setTimeout(()=>{ console.log(i) },0) }//打印出了五次5 意思就行没执行完一个for循环放一个闹钟在那,一共放了五个闹钟,等到闹钟响了之后开始打印i,这个时候的i都变成了5

如何解决上面的问题呢?

将var改成let

for(let i=0;i<5;i++){
    setTimeout(()=>{
    console.log(i)
},0) //打印出了0 1 2 3 4

5. break continue

break 退出整个for循环,如果是两次for循环,写在里面就退出里面的for循环

continue 退出当前一次循环,继续下一次循环

例子1:

for(var i=0;i<10;i++){
    if(i%2===1){
        break
    }
}// i的值是1

例子2:

for(var i=0;i<10;i++){
if(i%2===1){
    continue
}else{
    console.log(i)
    }
}// 打印出了0 2 4 6 8

例子3:

for(var i=0;i<10;i++){
    for(var j=101;j<110;j++){
        if(i===5){
            break
    }
}
}//打印出了0 1 2 3 4 5 6 7 8 9

6. label

语法:

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

以上输出了1 2

面试:

在浏览器里面

{
    foo:1;
}

就是个标签label,里面有个foo,值为1

前面加上var a={ foo:1;} 就是个对象了