js的基本概念

JavaScript 中的数据类型函数

JavaScript 有 5 种简单数据类型:Undefined、Null、Boolean、Number、String 和 1 种复杂数据类型 Object 。prototype

基本类型(值类型)指针

  • Undefined
  • Null
  • Boolean
  • Number
  • String

复杂类型(引用类型)对象

  • Object
  • Array
  • Date
  • RegExp
  • Function
  • 基本包装类型ip

    • Boolean
    • Number
    • String
  • 单体内置对象内存

    • Global
    • Math

类型检测作用域

  • typeof
  • instanceof
  • Object.prototype.toString.call()

值类型和引用类型在内存中的存储方式(画图说明)io

  • 值类型按值存储
  • 引用类型按引用存储

值类型复制和引用类型复制(画图说明)变量

  • 值类型按值复制
  • 引用类型按引用复制

值类型和引用类型参数传递(画图说明)数据类型

  • 值类型按值传递
  • 引用类型按引用传递

值类型与引用类型的差异

  • 基本类型在内存中占据固定大小的空间,所以被保存在栈内存中
  • 从一个变量向另外一个变量复制基本类型的值,复制的是值的副本
  • 引用类型的值是对象,保存在堆内存
  • 包含引用类型值的变量实际上包含的并非对象自己,而是一个指向该对象的指针
  • 从一个变量向另外一个变量复制引用类型的值的时候,复制是引用指针,所以两个变量最终都指向同一个对象

JavaScript 执行过程

JavaScript 运行分为两个阶段:

  • 预解析

    • 全局预解析(全部变量和函数声明都会提早;同名的函数和变量函数的优先级高)
    • 函数内部预解析(全部的变量、函数和形参都会参与预解析)

      • 函数
      • 形参
      • 普通变量
  • 执行

先预解析全局做用域,而后执行全局做用域中的代码,

在执行全局代码的过程当中遇到函数调用就会先进行函数预解析,而后再执行函数内代码。

相关文章
相关标签/搜索