JavaScript 数据类型

2020-04-23  本文已影响0人  BlueSkyBlue

分类

基本类型

基本类型又叫值类型。

对象类型

对象类型又叫引用类型。

任意对象都是Object类型。
Function是一种特别的对象。可以执行。
Array也是一种特别的对象。它的属性是数字下标属性。操作内部数据通过数值下标操作。内部数据是有序的。

判断

typeof返回数据类型的字符串表达。typeof可以判断undefined,数值,字符串,布尔值,function。不能判断null与object, object与array。

=== 和 == 的区别:
=== 不会做数据转换。==会做数据转换。

可以使用===判断undefined和null。

undefined和null的区别:
undefined代表定义了未赋值。null定义了并赋值,只是值为null。

什么时候需要给变量赋值为null:
初始赋值为null的变量表明将来要被赋值为对象。确定为对象之后赋值。最后再赋值为null,释放变量所占的内存。有一种对象叫垃圾对象,即没有引用指向的对象。为了尽早的释放对象应当将其赋值为null。垃圾对象最终会被垃圾回收器回收。垃圾回收器在浏览器中。

严格区分变量类型和数据类型:
数据类型分为基本类型和变量类型。
变量类型分为基本类型和引用类型。
变量类型保存基本类型的数据或引用类型的地址值。

数据、变量、内存

数据:存储在内存中代表特定信息的事物。

变量:可变化的量。由变量名和变量值组成。每个变量都对应一块小内存。变量名用于查找对应的内存。
例如下面一段代码:

var age = 18
console.log(age)

首先找到age对应的标识的地址。找到之后读取内存的内部保存数据。变量值就是内存中保存的数值数据。

内存:内存条通电后产生的用于存储可存储数据的空间。该空间是临时的。
内存的产生与死亡:内存条(电路板)通电,产生内存空间,存储数据,处理数据,断电,内存空间和数据消失。

一块小内存有两块数据,一部分地址值,一部分内容值。

变量赋值的实质:将一个变量保存的内容拷贝到另一个变量中。
只有当变量为对象类型才会去读取地址值。内存有两种数据一种是基本数据,一种是地址值数据。

内存主要分为两类:栈和堆。栈空间中主要存储全局变量和局部变量。堆空间中主要存储对象。

js代码执行的过程:将js代码加载到内存中,之后编译,解析,执行。

数据的特点:

  1. 可传递
  2. 可运算

内存中所有操作的目标:数据
内存是用于存储数据的空间,是临时空间。变量是内存的标识。

javaScript函数结束后函数内部的局部变量会被自动释放,成为垃圾对象。

js函数传递变量参数时使用的是值传递。

JS引擎如何管理内存:
内存的生命周期

  1. 分配空间,得到内存空间的使用权。
  2. 存储数据。可以反复进行操作。
  3. 释放小内存空间。

释放内存

  1. 局部变量:函数执行结束自动释放。
  2. 对象:首先要成为垃圾对象,之后由垃圾回收器回收。
function fn(){
  var b = {}
}

b所指向的对象是在后面某个时刻由垃圾回收器回收。

上一篇下一篇

猜你喜欢

热点阅读