JavaScript高级 对象 函数 回调函数 IIFE

Posted HUMILITY

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript高级 对象 函数 回调函数 IIFE相关的知识,希望对你有一定的参考价值。

对象

什么是对象

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

为什么要用对象

  • 统一管理多个数据

对象的组成

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

如何访问对象内部数据

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

什么时候必须使用[\'属性名\']的方式

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


以上是关于JavaScript高级 对象 函数 回调函数 IIFE的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript系列:高级函数篇

JavaScript系列:函数式编程(开篇)

javascript回调函数

javaScript中的同步,异步与回调函数

JavaScript31_高阶函数(回调函数)

JavaScript闭包和回调详解