关于js函数的参数传递问题
2016-12-05 11:33
441 查看
先来看例1
会依次打印出
2
1
再看例2
依然会打印出
2
1
再看例3
2
2
上面的例子说明,在js中调用一个函数时,其实是声明了一个新的变量,并让其等于传递的参数。在第三个例子中,由于o是一个object(引用类型),所以在函数中修改o.a时,外面的o.a也被修改了。函数中的o并不是外面的o,而是o的一个引用。例3也就等价于下面的操作
var o = {a:1};
var o2 = o;
o2.a=2;
console.log(o2.a);
console.log(o.a);
结果也是
2
2
var a =1; function myFunc(b){ b = 2; console.log(b); } myFunc(a); console.log(a);
会依次打印出
2
1
再看例2
var a =1; function myFunc(a){ a = 2; console.log(a); } myFunc(a); console.log(a);
依然会打印出
2
1
再看例3
var o ={a:1} function myFunc(o){ o.a=2; console.log(o.a); } myFunc(o); console.log(o.a);会打印出
2
2
上面的例子说明,在js中调用一个函数时,其实是声明了一个新的变量,并让其等于传递的参数。在第三个例子中,由于o是一个object(引用类型),所以在函数中修改o.a时,外面的o.a也被修改了。函数中的o并不是外面的o,而是o的一个引用。例3也就等价于下面的操作
var o = {a:1};
var o2 = o;
o2.a=2;
console.log(o2.a);
console.log(o.a);
结果也是
2
2
相关文章推荐
- 关于a标签中js函数function(va1,va2)方法传递中文参数报错不执行的问题解答
- 黑马程序员---------C语言 关于数组被当作函数参数传递的问题
- C++中关于将fstream对象作为函数参数传递相关问题说明
- js中的类型和函数参数传递类型问题
- 开发中遇到的JSP结合JS(关于参数传递的)小问题
- C++中关于二维数组作为函数参数传递的问题
- js关于循环中onclick绑定带参数的函数问题
- Boost关于bind的使用以及函数对象和传递参数的问题
- 在动态THML语句中调用JS函数传递带空格参数的问题
- 关于js中函数参数“按值传递”的理解
- JS函数传递参数问题
- 关于js 构造 onclick 方法中传递Guid参数问题
- js 函数传递参数类型问题(基本类型和引用类型)
- 关于在Js中使用ThinkPHP的U方法传递参数的问题
- JS循环中使用bind函数的参数传递问题
- 关于二维数组做函数参数,传递形参的形式的问题
- 关于js 函数传递引用参数理解
- Java值传递和地址传递:关于String类型和集合类型作为函数参数时传值问题的测试
- python-关于函数间参数传递问题(注意理解,很容易混淆)
- 关于js函数传入中文字符串参数的取值问题