JS基础语法

122 阅读2分钟

JS基础语法

表达式与语句

  • 表达式

    • 1+2表达式的值为3
    • add(1,2)表达式的值为函数的返回值
    • conslole.log表达式的值为函数本身
    • console.log(3)表达式的值为多少?
  • 语句

    • let a =1 是一个语句
  • 二者的区别

    • 表达式一般都有值,语句可能有也可能没有
    • 语句一般会改变环境(声明、赋值)
    • 上面两句话并不是绝对的
大小写敏感
  • 不要写错

    • let a 和 let A 是不同的
    • object和Object是不同的
    • function和Function是不同的
空格
  • 大部分空格没有实际意义

    • let =1 和 let a =1 没有区别
    • 加回车大部分时候也不影响
    • 只有一个地方不能加回车,那就是return后面
标识符
  • 规则

    • 第一个字符可以是Unicode 字母 或$ 或 _ 或中文
    • 后面的字符,除了上面所说的还可以有数字
  • 变量名是标识符

    • var _ =1
    • var $=2
    • var ___ =3
    • var 你好 ='hi'
关于注释的分类
  • 不好的注释

    • 把代码翻译成中文
    • 过时的注释
    • 发泄不满的注释
  • 好的注释

    • 踩坑注解
    • 为什么代码会写的这么奇怪,遇到什么bug

区块block

  • 把代码包起来
 {
 let a=1
 let b =2
 }
  • 常常与if/for/while合用

if语句

  • 语法

    • if(表达式){语句1}else{语句2}
    • {}在语句只有一句的时候可以省略,不建议这么做
  • 变态情况

    • 表达式里可以放 如 :a=1
    • 语句1里可以嵌套if else
    • 语句2里也可以嵌套 if else
    • 缩进也很变态,如面试题常常下套
 a=1
 if(a===2)
 console.log('a');
 console.log('a等于2')

switch 语句

  • 语句
 switch(fruit){
     case 'banana':
     //...
     break;
     case 'apple':
     //...
     break;
     default:
      //...
 }
问好冒号表达式

表达式1?表达式2:表达式3

&&短路逻辑

A&&B&&C&&D取第一个假值或D 并不会取true/false

console&&console.log&&console.log('hi')

||短路逻辑

A||B||C||D 取第一个真值或D

并不会取true/false

while

  • 语法

    • while(表达式){语句}
    • 判断表达式的真假
    • 当表达式为真,执行语句
    • 当表达式为假,执行后面的语句
    • 执行完再次判断表达式的真假
  • do……while

for循环

  • 语法糖

    • for是while的方便写法
    • 方便在哪?
  • 语法

    • for(语句1;表达式2;语句3){

      循环体

      }

    • 先执行语句1

    • 然后判断表达式2

    • 如果为真,执行循环体,然后执行语句3

    • 如果为假,直接退出循环,执行后面的语句

break和continue

退出所有循环VS退出当前一次循环

label语句
  • 面试
 {
 foo:1
 }

代码块里是一个label 然后里面有个1

JS 入门教程:wangdoc.com/javascript/

JS 进阶教程 book.douban.com/subject/263… 你不知道的 JavaScript