js的变量
-
变量提升
1.用var定义的变量会变量提升
2.定义的函数会变量提升
3.在函数体内,直接定义变量 num=100,在全局作用域下也可以访问
命名规范
大驼峰 小驼峰
js作用域(scope)
-
全局作用域
-
局部作用域(块级作用域) {}
for循环
white循环
if嵌套
函数 var定义一个变量,在外面的全局作用域下,不可以访问
数据类型
-
基础数据类型:
string,number,boolean, undefined , null
-
复杂数据类型
Object Array Date RegExp
类型检测
-
typeof
- 对于基本类型,除 null 以外,均可以返回正确的结果。
- 对于引用类型,除 function 以外,一律返回 object 类型。
- 对于 null ,返回 object 类型。
- 对于 function 返回 function 类型
-
instanceof 判断是否是某个构造函数的实例
-
constructor 判断构造函数
-
Object.prototype.toString.call()
this指向总结
函数类型 | this的指向 |
---|---|
普通函数 | 指向window |
匿名函数 | 指向window |
立即执行函数 | window |
回调函数 | window |
箭头函数 | 函数定义位置的上下文this |
对象下的函数 | 谁调用,指向谁 |
dom回调 | 绑定事件的对象 |