前端利器—3—传值和传址

概念
javascript和所有编程语言一样,可以有3种方式传递一个数据值。
第一,复制:把他复制给一个新的变量。
第二,作为参数传递。
第三,和另外一个值进行比较
有两种基本的方式操作数据值——传值和传址。
传值:数据通过值被操作,在赋值过程中,对实际的值作了一份拷贝,这个拷贝存储到一个变量、对象属性或数组元素中,拷贝的值和原始的值是分别存储的两份完全独立值。
在函数传递过程中,传递的是这个拷贝。
传址:数值只有一份真实的拷贝,被操作的是该值的引用(地址)

function cz_tst()
{
code.value = cz_tst.toString();
var n=1;
var m=n;//拷贝副本(两个地址)
res.value += "操作前:n,m = "+n.toString()+"\t"+m.toString()+"\n";
m = 2;//复制操作后
res.value += "操作后:n,m = "+n.toString()+"\t"+m.toString()+"\n";

var str1 = "hello";
var str2 = str1;//引用地址(一个地址)
str2 = "你好";
res.value += "操作后:str1 = "+str2+"\n";

var arr1 = new Array(1,2,3,4,5);
var arr2 = arr1;
arr2[0] = 0;
res.value += "操作后:arr1 = "+arr1.toString()+"\n";
}
操作前:n,m = 1    1
操作后:n,m = 1 2
操作后:str1 = 你好
操作后:arr1 = 0,2,3,4,5



转载于:https://www.cnblogs.com/viviman/archive/2011/12/19/2293955.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值