Javascript的数据类型包括基本类型和引用类型。
1. 基本数据类型:数值型、字符串型、布尔型、null型、undefined型。基本数据类型是按值访问的。它们的值存在栈中。如果把一个变量的值赋给另一个变量,改变一个值时,另一个不会改变。
通过程序实现如下:
function Test(s1,s2,s3,s4,s5)
{
s1 = 20;
s2 = "ss";
s3 = false;
s4 = 11;
s5 = 12;
}
function ss()
{
var s1 = 10;
var s2 = "Test";
var s3 = true;
var s4 = null;
var s5;
Test(s1,s2,s3,s4,s5);
alert(s1+" "+s2+" "+s3+" "+s4+" "+s5);
}
ss();
最后输出:10 Test true null undefined.
2. 引用类型:对象,数组,函数。保存在堆内存中的对象,因此操作引用类型时,我们都是通过地址来操作。它们的值保存在堆内存中。如果把一个对象赋给另一个对象,这相当于把当前对象的地址赋给另一个对象了,因此这两个对象就是操纵的时同一个内存空间。因此改变第一个对象的值时,第二个对象的值也被改变了。
通过程序实现如下:
function Test(s1,s2,s3){
s1[0] = -10;
s1[1] = -12;
s2.s = -10;
s3.ss = "-12";
}
function ss()
{
var s1 = [10,12]; //数组
var s2 = {s:"10"}; //对象
var s3 = function(){ //函数
this.ss = "12";
};
var Tests3 = new s3();
Test(s1,s2,Tests3);
alert(s1+" "+s2.s+" "+Tests3.ss);
}
ss();
最后输出被改后的值:-10,-12 -10 -12