关于javascript:JavaScript高级-对象-函数-回调函数-IIFE

38次阅读

共计 786 个字符,预计需要花费 2 分钟才能阅读完成。

对象

什么是对象

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

为什么要用对象

  • 对立治理多个数据

对象的组成

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

如何拜访对象外部数据

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

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

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.$ 执行后返回的是一个对象


正文完
 0