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