JavaScript 基础知识总结2
对象
什么是对象
- 多个数据的封装体
- 用来保存多个数据的容器
- 一个对象代表现实中的一个事物
为什么要用对象
- 统一管理多个数据
对象的组成
- 属性:属性名(字符串)和属性值(任意)组成
- 方法:一种特别的属性(属性值是函数)
如何访问对象内部数据
- .属性名:编码简单,有时不能用
- [‘属性名’]:编码麻烦,能通用
FAQ
- 什么时候必须用[‘属性名’]的方式
- 属性名包含特殊字符:- 空格
- 变量名不确定
- 什么时候必须用[‘属性名’]的方式
函数
什么是函数
- 实现特定功能的 n 条语句的封装体
- 只有函数是可以执行的,其它类型的数据不能执行
为什么要用函数
- 提高代码复用
- 便于阅读交流
如何定义函数
- 函数声明
- 表达式
如何调用(执行)函数
- test():直接调用
- obj.test():通过对象调用
- new test():new 调用
- test.call/apply(obj):临时让 test 成为 obj 的方法进行调用
回调函数
你定义的
你没有调用
但最终它执行了
常见的回调函数
- dom 事件回调函数 ==> 发生事件的 dom 元素
- 定时器回调函数 ==> window
- ajax 请求回调函数
- 生命周期回调函数
IIFE
- Immediately-Invoked Function Expression
- (function(){console.log(‘I am a IIFE’)})()
- 隐藏实现
- 不会污染外部(全局)命名空间
函数中的 this
this 是什么
- 任何函数本质上都是通过某个对象来调用的,如果没有直接指定就是 window 调用
- 所有函数内部都有一个变量 this
- 它的值是调用函数的当前对象
如何确定 this 的值
- test(): window
- p.test(): p
- new test(): 新创建的对象
- p.call(obj): obj
JS 语句分号
以下两种情况不加分号会有问题
- 小括号开头的前一条语句
- 中放括号开头的一条语句