对象

什么是对象

  • 多个数据的封装体
  • 用来保留多个数据的容器
  • 一个对象代表事实中的一个事物

为什么要用对象

  • 对立治理多个数据

对象的组成

  • 属性:属性名(字符串)和属性值组成
  • 办法:一种特地的属性(属性值是函数)

如何拜访对象外部数据

  • .属性名 : 编码简略,有时不能用
  • ['属性名'] : 编码麻烦,能通用

什么时候必须应用['属性名']的形式

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 = 4console.log(a);(function (){var a = 1function test () {    console.log(++a)}window.$ = function () {    //向外裸露一个函数  return{    test:test}}})()$().test()  //1.$是一个函数 2.$执行后返回的是一个对象