1. 基本数据类型
Number var num = 12;
String var str = "str";
Boolean var bol = false;
Undefined var a;
Null var obj = null; typeof null === "object"
复合数据类型
array var arr = [1,"a",true]; 通过下标访问某个数组元素
object var o = {}; 对象属性访问方法:a.点访问法,b.中括号访问法
对象的方法,就是属性为函数
2. let 关键字 ES6 只能限于块级作用域
3. 函数定义
关键字 function + 函数名 + 小括号 + 大括号
function say() {}
函数调用: 函数名 + ()
4. 函数的返回值,没有return 默认返回的是undefined
return 返回函数的结果
return 之后的语句不再执行
5. NaN not a number 不是一个数字,不等于自身的 NaN === NaN 返回false
6. js 局部变量没有块级作用域,只用函数级作用域
块级 if(){},for() {},while() {},switch() {}
局部变量,通过var 在函数内部定义的变量
7. 变量/函数提升
8. 自执行函数的形式 (function() {//code}())
9. 函数声明
函数表达式 ,函数调用必须放在表达式赋值之后
10. 闭包的构成
函数内部又定义了一个函数,并且内部函数引用了外部函数的局部变量