javascript系列(一)变量 && 数据类型 及 存储

个人整理了一些 关于javascript的知识,从今天开始 逐渐更新出来,有需要的可以看过来;

一、变量 && 数据类型 及 存储

1、JS文件 中的变量的存储分两类,一是原始类型的值(string、number、boolean、null(覆盖、占位)、undefinded),原始值存在stack栈内存里面,先进去的 后出来;变量的值赋给另外一个变量的时候,会先把变量的值拿出来,复制一份,给另外一个变量;
二是引用类型的对象(function,object,date,regexp,math等); 放在堆内存里面,变量的名称在栈内存里面,存放的是堆内存里面的地址(一个引用)!再赋值给另外一个变量的时候,复制了一份堆内存里面的地址 给另外一个变量;16进制的堆内存地址;

2、null的作用:用于释放(销毁)一个引用类型的数据。
所以说:引用值相互之间的拷贝,传输的是地址;原始值之间的赋值,传输的是直接的值;引用类型的值 创建以后就在堆里面创建了一个 房间,有了一个新的地址,付给栈里面的变量;

3、另外:原始值 有个特点;不可改变的原始值,就是创建一个值后,这个值是不会改变的,创建了新的变量与值,以前的变量与值之间的 联系,斩断了;数据还在,内存
就是说 只要在代码中创建了新的值,这个值都会存储到内存中,只是改变 这个值跟 内存中的变量的 指引发生了变化;删除 格式化,只是把 这个内存中的数据 跟变量之间的指引 发生了变化;能够把标号跟 内存中的数据重新还原;当内存 满了了,会有二次覆盖;会先往空的地方放数据,然后会提示没空间,删除 指针后,覆盖没有指针的空间;

4、变量是 内存中用来存储数据的 带有名字的 存储空间 ; 变量名称是以字母、数字、美元符号($)、下划线组成的;不能以数字开头。

5、所有的JavaScript变量都是对象。数组元素是对象。函数是对象;JS 中,任何变量使用前,都必须先声明 var 变量名 一旦声明但未赋值,默认值为undefined(空)
将数据保存到变量中, 只有等号才能赋值,右边赋值给左边 如果赋值错误,JS 会自动创建错误的变量 而原变量什么都得不到,不会报错,所以启用严格模式 (ES5中) 在作用域顶部添加 “use strict”。
不能使用关键字和保留字作为变量名:break continue delete case catch try if else do for function new null return throw void while with undefined var this switch finally instanceof default …… class int float等;
6、var a=1,b=2,c;多个变量之间用逗号隔开
赋值: 将数据保存到变量中 变量名=值; //只有等号才能给变量赋值 ;严格模式要求: 禁止给未声明的变量赋值
注意: , 是仅次于 ; 号的隔断, 任何操作都无法逾越逗号 建议:如果简写,也要在逗号后加换行
const 常量名=值 习惯上,常量名必须全大写、必须在声明时,就初始化值 (1,2)== 2

7、数据类型:数据在内存中的存储结构;
被存储的数据,类型不同,内存中的存储结构不一样
数据类型有:原始类型的数据 (直接保存在变量本地 null undefined number string blooen,栈内存中)与 引用类型的对象 (值保存在堆内存中,栈内存中存储的是这个堆内存的16进制的地址!)

8、垃圾回收: 程序会自动释放,不再使用的对象的内存空间
垃圾回收器: 专门记录并释放内存空间的小程序
每个对象上都有一个计数器,记录该对象正在被几个变量引用。
垃圾回收器在后台与主程序并行执行
如果垃圾回收器发现不被任何变量引用的对象,会立刻释放。
建议: 如果一个较大的对象,不再使用,首先要将引用对象的变量赋值为null
let 定义的变量具有唯一性, 在{} 中定义的变量 {}之外不能访问;可以重新赋值;
const 定义的变量 唯一性,不能更改;重新赋值会报错;

如果你觉得 稍微有些帮助,请扫描 下方二维码 微信小程序;
我写的第一个小程序

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值