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

var c = 10;

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

2 变量之间的赋值

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

javascript 变量语法

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

javascript 变量语法
衍生:

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

首先,引用型的变量栈内存之间的赋值是拷贝的是存放内容的堆的地址,arr和arr1都指向同一块堆中的内存地址。
javascript 变量语法
javascript 变量语法

相关文章:

  • 2021-10-19
  • 2021-10-19
  • 2021-11-15
  • 2021-11-05
  • 2021-07-19
  • 2021-11-20
  • 2021-10-16
  • 2018-11-08
猜你喜欢
  • 2021-10-15
  • 2021-11-15
  • 2021-11-15
  • 2018-02-05
  • 2021-11-01
  • 2020-04-22
相关资源
相似解决方案