简述 JavaScript 的基本语法

275 阅读2分钟

表达式和语句

  • 表达式一般都有返回值,语句一般会改变环境(声明、赋值),但是不绝对。
表达式:
console.log()
add(a,b)

语句:
var a = 1

标识符的规则

  • 第一个字符,可以是 Unicode 字母或 $ 或 _ 或中文。
  • 后面的字母除了上述规则,还可以有数字,即数字只能从第二位开始。

if else 语句

  • 语法:if(表达式){语句} else {语句};{} 在语句中只有一句的时候可以省略,但不建议这样做。
  • 几种特殊情况:表达式 a=1;语句1 嵌套 if else;语句2 嵌套 if else;缩进。
示例1var a = 1 ;
if(a = 1)     // a=1错误。”=“在编程里面的意思是赋值;”===“在编程里面的意思是等于。
    console.log("打印")     // 只有一行时可以删略{},但最好不要删略。

示例2var a = 2;
if( a = 1 )
    console.log("打印1")
    console.log("什么也不打印")
返回值:什么也不打印。if 只对下一个语句有效,console.log("什么也不打印")
是一个新的语句,不属于 if 语句。

示例3var a = 2;
if( a = 1 )
    console.log("打印1");console.log("什么也不打印")
返回值:什么也不打印。分号代表语句已结束,console.log("什么也不打印")
是一个新的语句,不属于 if 语句。

示例4var a = 2;
if( a = 1 )
    console.log("打印1"),console.log("什么也不打印")
返回值:undefined。逗号代表语句还没有结束,系统无法识别console.log("打印1"),
console.log("什么也不打印")。
  • if else 语句比较好的两种写法
推荐1if ( 表达式 ){
  语句
} else if ( 表达式 ){
  语句
} else {
  语句
}

推荐2:   // 只可用于函数
function fu () {
    if ( 表达式 ){
    return 表达式
   }
    if  ( 表达式 ) {
    return 表达式
  }
  return 表达式
}

- while for 语句

  • while 循环语法:while(表达式){语句};用于判断表达式的真假;当表达式为真,执行语句,执行完后再判断表达式的真假;当表达式为假,执行后面的语句。
  • for 循环语法:for 是 while 的方便写法。for(语句1;表达式2;语句3){循环体}。执行逻辑:先执行语句1,然后执行判断表达式,如果为真,执行循环体,然后执行语句3;如果为假,直接退出循环,然后执行后面的语句。
  • break 和 continue 的区别。break 是退出当前层级的所有循环; continue 是退出当前一次循环。
i = 0;
n = 0;while (i < 5) {
   i++;
   if (i === 3) {
      continue;
   }
   n += i;}
// n output: 1,3,7,12

label 语句

  • 可以和 break 或 continue 语句一起使用,标记就是在一条语句前面加个可以引用的标识符。
示例1let str = '';
loop1:
for (let i = 0; i < 5; i++) {
  if (i === 1) {
    continue loop1;
  }
  str = str + i;
}
console.log(str);
// expected output: "0234"

示例2:
{
    foo: 1
}
问:上面是什么东西?
答:这是一个代码块,其中,foo 是标签,标签里面的内容是1。

示例3(chrome):
{foo:1}
返回值:{foo: 1}

{foo:1;}
返回值:1

示例4(firefox):
{foo:1}
返回值:1

替代 if else 语句的表达式或逻辑

问号冒号表达式

    ✔ 语法:表达式?表达式2:表达式3

示例:
a > b ? a : b   // 如果 a > b ,返回 a ,否则,返回 b

&& 短路逻辑

    ✔ 语法:A && B && C && D。

    ✔ 逻辑:如果一个表达式为真,就继续执行下一个表达式,最后返回第一个假值或者 D,并不会取 true / false。

|| 短路逻辑

    ✔ 语法:A || B || C || D

    ✔ 逻辑:与 && 短路逻辑相反。如果一个表达式的值为假,就继续执行,最后返回第一个真值或者 D,并不会取 true / false。