JS的基本语法

120 阅读2分钟

表达式和语句

表达式是一组代码的集合,它返回一个值。接下来我们来举例说明

  • 1 + 2 表达式的值为 3
  • add(1, 2) 表达式的值为函数的返回值
  • console.log 表达式的值为函数本身
  • console.log(3) 表达式的值 为 undefined ,不代表返回值。

问号冒号表达式:

n>0? n:-n

等同于

if (n>0) {console.log(n)
}else{console.log(-n)
}

var a=1是一个语句

  • 一般情况下语句会改变环境(赋值或说明)
  • 一般情况表达式会有值,语句一般没有
  • 上两句话不是绝对的
  • return 后面不可加回车

标识符的规程

  1. 第一个字符可以是Unicode字母或者$或者_或者中文
  2. 第二字符除了可为上一条中提到的还可以是数字

例如

  • var $=1
  • var _=2
  • vra 豪豪=3

if else 语句

if (表达式){语句1} else {语句2}

var a=2
if (a===2){console.log(2)}
else{} 
  • {}里可以继续套if else
  • if(a=2)这是错误的,=是直接赋值的意思,可以把数字写在前面方便系统报错

还可以用一下写法

function fn(){
    if (表达式) {return 表达式}
    if(表达式){return}表达式}
    return{表达式}
}

&&短路逻辑

A&&B&&C&&D 且运算,当前一个为真值时计算下一个值,一直到第一个假值或者D

||短路逻辑

A||B||C||D 或运算,当前一个为假值时计算下一个值,一直到第一个真值或者D

a=a || 100

相同与

if (a){a=a
}else {a=100
}

while循环

while (表达式){语句} 判断表达式的真假 表达式为真时,执行语句,并重新判断真假 表达式为假时,弹出循环执行后面语句

特殊举例

var a=0.1
while (a!==1){
console.log(a)
a=a+0.1
}

这个例子会无限循环因为浮动数的原因使得a只会接近1而不是1

for循环

for是while的便洁写法

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

  • 先执行语句1
  • 判断表达式2
  • 若为真,进入循环体,然后执行语句3
  • 若为假,退出循环体,执行后面语句

特殊例子

for (var a=1;a<5;a++){
    setTimeout(() => {
        console.log(a);
    }, 0);
}

这个例子会打印出5个5,因原在于延迟打印,此时的a由于循环已经赋值为5了,所以5次的打印的a值都为5。

打印值的取值取决于调用函数的时间

如果var替换成let,则取值1,2,3,4,5

break和continue

break是退出所有循环 contimue是退出本次循环 举例

for(var a=0;a<10;a++){
    if(a%2===1){
        break
    }
}

此时当a=1是就会退出循环,打印值1

for(var a=0;a<10;a++){
    if(a%2===1){
        continue
    }else{
        console.log(a)
    }
}

此时打印值为2/4/6/8

label

语法

foo:{
    console.log(a)
    break foo
    console.log('本行不会输出‘)
}
console.log(-a)

注意:{foo: 1} 在浏览器中,这就是一个标签,值为 1。只有 var a = {foo: 1} 时,才是一个对象。