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 運行分爲兩個階段:

  • 預解析

    • 全局預解析(全部變量和函數聲明都會提早;同名的函數和變量函數的優先級高)
    • 函數內部預解析(全部的變量、函數和形參都會參與預解析)

      • 函數
      • 形參
      • 普通變量
  • 執行

先預解析全局做用域,而後執行全局做用域中的代碼,

在執行全局代碼的過程當中遇到函數調用就會先進行函數預解析,而後再執行函數內代碼。

相關文章
相關標籤/搜索