取其精华,取其糟粕
- 对待
JS
这是我们的态度
JS
之父对 JS
的评价
- 它的优秀之处并非原创,它的原创之处并不优秀。
表达式与语句
1 + 2
表达式的值为3
add(1,2)
表达式的值为函数的范围值console.log
的表达式的值为函数本身
语句
var a = 1
是一个语句
二者的区别
- 表达式一般都有值,语句可能有也可能没有
- 语句一般会改变环境(声明、赋值)
- 上面两句话并不是绝对的
大小写敏感
- 不要写错
var a
和var A
是不同的object
和Object
是不同的function
和Function
是不同的- 具体函数后面说
空格
- 大部分空格没有实际意义
var a = 1
和var a=1
没有区别- 加回车大部分时候也不影响
- 只有一个地方不能加回车,那就是
return
后面- 如果加了就会变成
undefined
- 如果加了就会变成
标识符
规则
- 第一个字符,可以是
Unicode
字母
或$
或_
或中文
- 后面的字符除了上面所说的,还可以有
数字
变量名可以是标识符
var _ = 1
var $ = 2
var ______ = 6
var 你好 = 'hi'
数字不可用于开头,只能用到从第二位开始
其他标识符用到再说
注释
- 写代码要多写注释–放屁
不好的注释
- 把代码翻译成中文
- 过时的注释
- 发泄不满的注释
好的注释
- 踩坑注释
- 为什么代码会写得这么奇怪,遇到什么
bug
信噪比要低
区块 block
把代码包在一起
常与 if
/ else
/ while
连用
if
语句
- 如果 … 那么 …
语法
if (表达式) {语句1} else {语句2}
{}
在语句只有一句的时候可以省略,不建议这样做
变态情况
- 表达式里可以非常变态,如 a = 1
- 语句1 里可以非常变态,如 嵌套的 if else
- 语句2 里可以非常变态,如 嵌套的 if else
- 缩进也可以很变态,如面试题尝尝下套
- 使用最没有歧义的写法
最推荐使用的写法
switch 语句
语法
break
- 大部分时候,省略
break
你就完了 - 少部分时候,可以利用
break
问号冒号表达式
表达式1 ? 表达式2 : 表达式3
&&
短路逻辑
A && B && C && D
取第一个假值或 D- 并不会取
true
/false
||
短路逻辑
A && B && C && D
取第一个真值或 D- 并不会取
true
/false
总结
条件语句
while
语法
while
(表达式) {语句}- 判断表达式的真假
- 当表达式为真,执行语句,执行完再次检查判断表达式的真假
- 当表达式为假,执行后面的语句
其他
do...while
用得不多,自行了解
浮点数不精确
for 循环
语法糖
- for 是 while 循环的方便写法
- 方便在哪?
语法
先执行
语句1
然后判断
表达式2
如果为真,执行循环体,然后执行语句3
如果为假,直接退出循环,执行后面的语句
- for 和 let 一起用 单独处理过
break
和 continue
- 退出所有循环 V.S. 退出当前一次循环
break
只会退出最近的一个for
循环
label
语句
语法
面试
上面的东西是什么
- 是一个 label 内容是 1
推荐的书
资料来源:饥人谷。任何组织或个人未经许可,禁止转载
评论