JS变量复制和参数传递
2017-03-08 17:02
190 查看
5种基本数据类型,按值访问
引用类型:object、Array、function、date
一、变量复制:
1.复制基本类型值时,会创建新值并复制到新变量分配的位置。
两个变量相互操作没有任何影响。
2.复制引用类型时,复制的值是一个指针,指向同一个对象。
二、传递参数: 传递的都是值
1.传递基本类型:被传递的值会复制给一个局部变量
2.传递引用类型:会把这个值在内存中的地址复制给一个局部变量
这里如果person是按引用传递的话,那么最后应该输出”Greg”;说明虽然函数内部修改了参数的值,但原始引用依旧未变。
引用类型:object、Array、function、date
一、变量复制:
1.复制基本类型值时,会创建新值并复制到新变量分配的位置。
var num1=5; var num2=num1; num2=4; alert(num1);// 输出5
两个变量相互操作没有任何影响。
2.复制引用类型时,复制的值是一个指针,指向同一个对象。
var obj1=new Object(); var obj2=obj1; obj1.name="Jack"; alert(obj2.name);//输出"jack"
二、传递参数: 传递的都是值
1.传递基本类型:被传递的值会复制给一个局部变量
obj.name="Jack"; } var person=new Object(); setName(person); alert(person.name);//"Jack"
2.传递引用类型:会把这个值在内存中的地址复制给一个局部变量
function setName(obj){ obj.name="Jack"; obj=new Object();//相当于引用了一个新的局部变量 obj.name="Greg"; } var person=new Object(); setName(person); alert(person.name);//依旧是"Jack"
这里如果person是按引用传递的话,那么最后应该输出”Greg”;说明虽然函数内部修改了参数的值,但原始引用依旧未变。
相关文章推荐
- js 基本类型和引用类型 变量复制 参数传递
- js--变量的复制与函数参数的传递
- 83 js 如何正确传递DOM元素的指针 选择器内参数为变量 论js函数的简化 seajs用法
- js调用方法传递变量作为参数的问题
- 我理解c#(一): 参数传递和变量复制之间的关系
- 浅析JavaScript中的变量复制、参数传递和作用域链
- python函数参数是值传递还是引用传递(以及变量间复制后是否保持一致):取决于对象内容可变不可变
- JS变量传递参数是按值传递还是按引用传递
- 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数
- 浅析JavaScript中的变量复制、参数传递和作用域链
- JavaScript 参数传递与变量复制
- python函数参数是值传递还是引用传递(以及变量间复制后是否保持一致):取决于对象内容可变不可变
- asp.net,js传递汉字参数乱码
- js如何取得网址中传递的变量的值
- JS的参数传递
- 用"堆栈区数据复制"理解Java赋值和参数传递?机制的心得
- flash调用js中的方法,让js传递变量给flash (兼容 IE & FF) (转)
- 解决在url中传递js变量到java程序中出现乱码问题(转自http://www.blogjava.net/fine)
- JS与VBS传递变量