JS语法

108 阅读2分钟

一.什么是表达式和语句

1.表达式

区别:1.表达式一般有值,语句可能有也可能没有。 2.语句一般会改变环境.(声明,赋值)

  • add (1+2)的表达式的值为函数的返回值,只有函数有返回值
  • console.log表达式的值为函数本身.
  • console.log(3)表达式的值是多少? (undefined)

2.JS重点

  • 1.大小写是敏感的 (Var a和 var A是不同的)
  • 2.大部分空格没有实际意义
  • 3.回车一样没有实际意义(只有一个地方不能加回车,return后面不能加回车)

二.标识符的规则

  • 第一个字符.可以是Unizode字母或$或_或中文
  • 后面的字符,除了上面所有还有数字 Unlaught.Syntax(语法)Error:Invaid(不合法) or unexpected token(字符串) (没有捕获的语法错误)
  • 注释 . // (只能解释一行) /* 任何东西 */
  • 区块.block. 常与if/for/while合用

if else语句

  • if(表达式){语句1}else{语句2} 如果表达式成立,则执行表达式 否则执行表达式2
  • =是“赋值” ===是“等于” a = 1 if(a === 2) console.log('a') console.log('a 2')

这种情况只输出a=2,因为if只管第一句(分号同理) 如果是逗号的话则全部都执行(因为逗号表示这句话没完)

最推荐if ( ) { } else if ( ) { } else { } 次推荐 function fn(){ if ( ) { return } if ( ) { return } return }

switch语句(不推荐)(if...else...的升级版)

语法

switch (fruit) { case "banana": // ... break; case "apple": // ... break; default: // ... }

break

  • 大部分时候省略break你就完了
  • 少部分时候,可以利用break

问号冒号表达式

语法 表达式1?表达式2:表达式3.

function max (a,b) { return a>b? a:b }

&&短路逻辑(代替if else)

if(window.f1){console.log("f1存在") }= window.f1&&console.log('f1存在')

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

||短路逻辑

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

while循环

语法

  • while(表达式){语句}
  • 判断表达式的真假
  • 当表达式为真,执行语句,执行完再判断表达式的真假
  • 当表达式为假,执行后面的语句 while缺一部分就会死循环

for循环

语法糖

  • for是while的方便写法

语法

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

break和continue

退出所以循环V.S 退出当前一次循环

label语句

  • foo: { console.log(1); break foo; console.log(' '); } console.log(2);

  • {a:1} (a:1是一个对象)