JavaScript深入之参数按值传递

  1. 云栖社区>
  2. 博客>
  3. 正文

JavaScript深入之参数按值传递

水灵儿 2017-12-14 10:43:59 浏览817
展开阅读全文

定义

在《JavaScript高级程序设计》第三版 4.1.3,讲到传递参数:

ECMAScript中所有函数的参数都是按值传递的。

什么是按值传递呢?

也就是说,把函数外部的值复制给函数内部的参数,就和把值从一个变量复制到另一个变量一样。

按值传递

举个简单的例子:

var value =1;
functionfoo(v) {
    v =2;
    console.log(v); //2
}
foo(value);
console.log(value) // 1

很好理解,当传递 value 到函数 foo 中,相当于拷贝了一份 value,假设拷贝的这份叫 _value,函数中修改的都是 _value 的值,而不会影响原来的 value 值。

引用传递?

拷贝虽然很好理解,但是当值是一个复杂的数据结构的时候,拷贝就会产生性能上的问题。

所以还

网友评论

登录后评论
0/500
评论
水灵儿
+ 关注