JavaScript 基础知识总结2


对象

  1. 什么是对象

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

    • 统一管理多个数据
  3. 对象的组成

    • 属性:属性名(字符串)和属性值(任意)组成
    • 方法:一种特别的属性(属性值是函数)
  4. 如何访问对象内部数据

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

    • 什么时候必须用[‘属性名’]的方式
      • 属性名包含特殊字符:- 空格
      • 变量名不确定

函数

  1. 什么是函数

    • 实现特定功能的 n 条语句的封装体
    • 只有函数是可以执行的,其它类型的数据不能执行
  2. 为什么要用函数

    • 提高代码复用
    • 便于阅读交流
  3. 如何定义函数

    • 函数声明
    • 表达式
  4. 如何调用(执行)函数

    • test():直接调用
    • obj.test():通过对象调用
    • new test():new 调用
    • test.call/apply(obj):临时让 test 成为 obj 的方法进行调用
  5. 回调函数

    • 你定义的

    • 你没有调用

    • 但最终它执行了

    • 常见的回调函数

      • dom 事件回调函数 ==> 发生事件的 dom 元素
      • 定时器回调函数 ==> window
      • ajax 请求回调函数
      • 生命周期回调函数
  6. IIFE

    • Immediately-Invoked Function Expression
    • (function(){console.log(‘I am a IIFE’)})()
    • 隐藏实现
    • 不会污染外部(全局)命名空间
  7. 函数中的 this

    • this 是什么

      • 任何函数本质上都是通过某个对象来调用的,如果没有直接指定就是 window 调用
      • 所有函数内部都有一个变量 this
      • 它的值是调用函数的当前对象
    • 如何确定 this 的值

      • test(): window
      • p.test(): p
      • new test(): 新创建的对象
      • p.call(obj): obj

JS 语句分号

  1. 以下两种情况不加分号会有问题

    • 小括号开头的前一条语句
    • 中放括号开头的一条语句