js 变量的语法

1 变量:变量声明和变量赋值

var c = 10;

上面的其实应该拆分为两个步骤,首先声明一个变量a(就像在内存里面给a分配一个房间)。然后再给a赋值为10,(就像是给这个房间分配人去住)。

2 变量之间的赋值

  1. 由于javascript是动态类型的解释型的语言,变量的类型是由值确定的,不像java里面一样用integer,string类型来定义变量的类型。
  2. 给变量赋值的数据分为两种:原始值引用值
原始值类型NumberStringBooleanUndefinedNull
引用值类型arrayObjectfunctiondataRegExp …
  • 原始值(又称不可改变的原始值)
    原始值 (存在栈stack里面 栈内存之间的赋值是拷贝(副本),之间互相不影响)例如
var a = 10;
 b = a;
 a = 90;
 document.write(b);//10

在这里插入图片描述

  • 引用值 (存在堆heap里面(散列结构) 堆内存
    在栈内存里面放入堆内存的地址,方便找到堆内存里面的内容,
    这个时候栈内存之间的赋值是拷贝的是存放内容的堆的地址,改变堆的内容,相互之间会影响
var arr = [1,2];
var arr1 = arr;
arr .push(3);
document.write(arr);//[1,2,3]
document.write(arr1);//[1,2,3]

在这里插入图片描述
衍生:

var arr = [1,2];
var arr1 = arr;
arr  = [1,3]
document.write(arr);//[1,3]
document.write(arr1);//[1,2]

首先,引用型的变量栈内存之间的赋值是拷贝的是存放内容的堆的地址,arr和arr1都指向同一块堆中的内存地址。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值