JavaScript的发展及数据类型

发展历程和语言特点

发展历程
  • JavaScript组成(客户端)
    • ECMAScript (ES)—— 核心规范,不可替代;JavaScript的语法标准
    • BOM —— 宿主对象,可更换部分
    • DOM —— 宿主对象
  • 浏览器 —— 客户端JavaScript运行的宿主环境
  • 目前 JavaScript 的运行环境有浏览器和 node.js 环境两种
  • 浏览器下载 JavaScript 脚本文件后,由浏览器 JavaScript 引擎解释执行
  • ES
    • 最新:ES10
    • ES5:ES2009
    • ES6:ES2015
    • ES5没有块作用域
    • JavaScript,JScript和ActionScript 都遵从ES标准
语言特点
  • 是一种直译式脚本语言

  • 是一种弱类型、动态类型语言

数据类型

分类
  • ES5数据类型(6种)及其划分(2类)
    • 基本(原始)类型:Number、String、Boolean、Null、Undefined
    • 引用(对象)类型:Object(Array、Function、Date等)
  • typeof —— 判断数据类型
    • 数据、变量和类型
      • JavaScript 中的变量没有类型
      • JavaScript 中的数据值有类型
      • 变量可以随时持有任何类型的值
    • 对变量执行 typeof 操作时,得到的结果并不是该变量的类型,而是该变量持有的值的类型
存储
  • 变量声明
  • 变量赋值
  • 内存空间
    • 堆内存
      • 存储的值大小不定,可动态调整
      • 由程序员通过代码进行分配
      • 空间大,运行效率相对较低
    • 栈内存
      • 存储的值大小固定
      • 由系统自动分配内存空间
      • 空间小,运行效率高
    • 基本数据类型的临时变量分配在栈区
    • 引用数据类型的变量的引用(地址)存储在栈区,被引用(指向)的对象存储在堆区
区别
  • 基本类型与引用类型的区别
    • 访问机制不同
      • 基本类型的值直接访问
      • 引用类型的值通过引用访问,不能直接访问
        • 先从栈中获取该对象的地址引用,再从堆内存中取得我们需要的数据
    • 变量赋值不同
      • 基本类型赋值 —— 相互独立互不影响
      • 引用类型赋值
    • 比较变量不同
      • 值类型是判断变量的值是否相等(值比较)
      • 引用类型是判断所指向的**内存空间(地址)**是否相同(引用比较)
    • 参数传递不同
      • ECMAScript 中所有函数的参数都是按值来传递

      • 基本类型值:把变量里的数据值传递给参数,之后参数和变量互不影响

      • 引用类型值:把对象的引用(地址)值传递给参数,参数和对象都指向同一个对象相互影响

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值