JS语法

169 阅读3分钟

一、表达式、语句

  1. 表达式
  • 1+2 表达式的值为3
  • add(1,2) 表达式的值为函数的返回值
  • console.log 表达式的值为函数本身
  • console.log(3) 表达式的值为undefined;打印出来的是3
  • 注意:只有函数有返回值;值是值,返回值是返回值,两种不同的东西
  1. 语句
  • var a = 1 是一个语句
  • JavaScript 程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句
  • 语句以分号结尾,一个分号就表示一个语句结束。多个语句可以写在一行内
  1. 二者的区别
  • 表达式是为了得到返回值;一般都有值,语句可能有可能没有
  • 语句主要为了进行某种操作,一般情况下不需要返回值;一般会改变环境(声明、赋值)
  • 上面两句并不是绝对的

二、标识符的规则

规则:第一个字符,可以是Unicode字母或者$ 或者 _ 或者中文
后面的字符,除了上面的还可以有数字。用 _ 的时候,最多不要超过2个下划线

三、if else 语句

  1. 语法: if(表达式){语句1}else{语句2}
  2. 其他情况
  • { }在语句只有一句的时候可以省略 (不推荐这样做)
  • 表达式里可非常变态,比如a=1;应该是用a===1 赋值
  • 语句1变态:如嵌套的if…else
  • 语句2变态:如嵌套的if…else
  • 缩进:
if(a===2)
    console.log(2)
    console.log('a等于2')
    //在省略{ }的情况下,只会打印出 “a等于2”;因为if只会管到离它最近的一个语句
   等同于
   if(a===2)
    console.log(2)
console.log('a等于2')
if(a===2){
    console.log(2)
    console.log('a等于2')
}
//全部包起来的情况下,什么也不打印
if(a===2){
    console.log(2),console.log('a等于2')
}
//undefined;逗号表示未结束
  • 推荐写法: if(表达式){语句1}elseif{语句2}else{语句3}
  • 次推荐写法(函数):
function fn( ){
    if(表达式){
        return表达式
    }
    if(表达式){
        return表达式
    }
    if(表达式){
        return表达式
    }
  }

四、while循环

  1. 语法:while(表达式){语句}
  2. 执行过程:判断表达式的真假。当表达式为真时,执行语句,执行完再吃判断表达式真假;如果是假,直接跳出循环;
  3. 注意:
  • 用while是Chrome浏览器最后会多出一个奇怪的值,没有意义;
  • while语句没有返回值
  • 避免写成死循环;例如浮点数相加

五、for循环

  1. for是while循环的方便写法
  2. 语法:for(语句1,表达式2,语句3){ 循环体 }
  3. 执行过程:先执行语句1 -->判断表达式2 -->如果是真,执行循环体 -->再执行语句3 -->如果判断为假的话,直接退出循环体
for(var i=1;i<5;i++){
    console.log(i);
}
//打印出1,2,3,4
//最后i的值是5

考点

for(var i=1;i<5;i++){
    setTimeout(()=>{
        console.log(i)});
}
//当有setTimeout时,表示过一段时间打印
//打印出来的结果是4次5;最后i的值也是5
//用let可以解决上面的问题。let会直接打印出1,2,3,4

六、break continue

  1. break 退出离它最近的所有循环
  2. continue 退出当前一次循环

七、label语句

语法:

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

面试常问到:

{
    foo:1
}
foo是一个label,它的语句是1

label没咋懂,似懂非懂,之后再查资料看下~~