对象
什么是对象
- 多个数据的封装体
- 用来保留多个数据的容器
- 一个对象代表事实中的一个事物
为什么要用对象
- 对立治理多个数据
对象的组成
- 属性:属性名(字符串)和属性值组成
- 办法:一种特地的属性(属性值是函数)
如何拜访对象外部数据
- . 属性名 : 编码简略,有时不能用
- [‘ 属性名 ’]:编码麻烦,能通用
什么时候必须应用 [‘ 属性名 ’] 的形式
1. 属性名蕴含特殊字符:– 空格
2. 属性名不确定
函数
什么是函数
- 实现特定性能的 n 条语句的封装体
- 只有函数是能够执行的,其余类型的数据不能执行
为什么要用函数
- 进步代码复用
- 便于浏览交换
如何定义函数
-
函数申明
function fn1(){console.log('fn1()') }
-
表达式
var fn2=function(){console.log('fn2()') }
如何调用(执行)函数
- test(): 间接调用
- obj.test() : 通过对象调用
- new test() : new 调用
- test.call/apply(obj):长期让 test 成为 obj 的办法进行调用
回调函数
什么函数才是回调函数
- 你定义的
- 你没有调用
- 但最终它执行了
常见的回调函数
- dom 事件回调函数
- 定时器回调函数
- ajax 申请回调函数
- 生命周期回调函数
IIFE
全称:Immediately-Invoked Function Expression(立刻执行函数表达式)
作用:
- 暗藏实现
- 不会净化内部命名空间(全局命名空间)
- 用它来编码 js 模块
(function (){ // 匿名函数自调用
var a = 3;
console.log(a+3);
})()
var a = 4
console.log(a)
;(function (){
var a = 1
function test () {console.log(++a)
}
window.$ = function () { // 向外裸露一个函数
return{test:test}
}
})()
$().test() //1.$ 是一个函数 2.$ 执行后返回的是一个对象