美文网首页
函数之传递参数

函数之传递参数

作者: 想个名字真难ing | 来源:发表于2017-05-29 21:19 被阅读0次

ECMAScript�中所有的函数都是按值传递的。也就是说把函数外部的值赋值给函数内部的参数,就和把值从一个变量赋值到另一个变量一样。基本类型值的传递如同基本类型变量的复制一样,而引用类型值的传递,则如同引用类型变量的复制一样。

在向参数传递基本类型的值时,被传递的值会被赋值给一个局部变量。

<code>
funtion addTen(num){
num+=10;
retuen num;
}

var count = 20;
var result = addTen(count);
alert(count) //20,没有变化
alert(result) //30
</code>

加入num是按引用传递的话,那么变量count的值也将变成30,从而反映函数内部的修改。

<code>
function setName(obj){
obj.name = "haha";
}

var person = new Object();
setName(person);
alert(person.name) ; //“哈哈” obj和person引用的是同一个对象
</code>

下面再看一个例子
<code>
function setName(obj){
obj.name = "haha";
obj = new Object;
obj.name="change";
}

var person =newe Object();
setName(person);
alert(person.name); //“哈哈”
</code>

因为函数内部重写obj,这个变量引用的就是一个局部变量了,而这个局部对象会在函数执行完毕后立即销毁。可以把ECMAScript函数的参数想象成局部变量。

相关文章

网友评论

      本文标题:函数之传递参数

      本文链接:https://www.haomeiwen.com/subject/qkrlfxtx.html