js局部变量,参数

时间:2014-05-01 04:45:14   收藏:0   阅读:401

作者:zccst

 

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

不少人困惑,因为变量有按值和按引用两种方式,而参数只能按值传递。
在向参数传递基本类型和引用类型时都会复制一份。

mamicode.com,码迷
//传递了形参
var a = [1, 2, 3];
var b = [5, 6];
function change(a,b) {
  var c = a;
  a[0] = 4;
  a = b;
  b = c;
};
change(a,b);
console.log(a,b);   //"4,2,3"  //"5,6" 


//没有传递形参
var a = [1, 2, 3];
var b = [5, 6];
function change() {
  var c = a;
  a[0] = 4;
  a = b;
  b = c;
};
change();
console.log(a,b);   //"5,6"   //"4,2,3"
mamicode.com,码迷

 

mamicode.com,码迷
function test(i){
    var i;
    alert(i);//10,上面 var i; 属于重复定义
}
test(10);
mamicode.com,码迷

 

mamicode.com,码迷
var a = 100;
function test() {
    console.log(a);//undefined
    var a = 10;
    console.log(this.a);//100
    console.log(a);//10
}
test();
mamicode.com,码迷

 

js局部变量,参数,码迷,mamicode.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!