js的基本概念

JavaScript 中的数据范例

JavaScript 有 5 种简朴数据范例:Undefined、Null、Boolean、Number、String 和 1 种庞杂数据范例 Object 。

基础范例(值范例)

  • Undefined
  • Null
  • Boolean
  • Number
  • String

庞杂范例(援用范例)

  • Object
  • Array
  • Date
  • RegExp
  • Function
  • 基础包装范例

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

    • Global
    • Math

范例检测

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

值范例和援用范例在内存中的存储体式格局(绘图申明)

  • 值范例按值存储
  • 援用范例按援用存储

值范例复制和援用范例复制(绘图申明)

  • 值范例按值复制
  • 援用范例按援用复制

值范例和援用范例参数通报(绘图申明)

  • 值范例按值通报
  • 援用范例按援用通报

值范例与援用范例的差异

  • 基础范例在内存中占有牢固大小的空间,因而被保存在栈内存中
  • 从一个变量向另一个变量复制基础范例的值,复制的是值的副本
  • 援用范例的值是对象,保存在堆内存
  • 包括援用范例值的变量实际上包括的并非对象自身,而是一个指向该对象的指针
  • 从一个变量向另一个变量复制援用范例的值的时刻,复制是援用指针,因而两个变量终究都指向同一个对象

JavaScript 实行历程

JavaScript 运转分为两个阶段:

  • 预剖析

    • 全局预剖析(一切变量和函数声明都邑提早;同名的函数和变量函数的优先级高)
    • 函数内部预剖析(一切的变量、函数和形参都邑介入预剖析)

      • 函数
      • 形参
      • 一般变量
  • 实行

先预剖析全局作用域,然后实行全局作用域中的代码,

在实行全局代码的历程当中碰到函数挪用就会先举行函数预剖析,然后再实行函数内代码。

    原文作者:音无
    原文地址: https://segmentfault.com/a/1190000018591701
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞