js中的参数传递
来源:互联网 发布:辐射4低配置优化 编辑:程序博客网 时间:2024/05/22 12:54
注意:js中的参数遵从值拷贝原则,那到底什么是值拷贝呢?我们根据代码好好分析一下就明白了
1.对于基本数据类型
在js中,使用函数的时候如果参数是基本数据类型
<script type="text/javascript">var num=100;function add(num){num+=100;console.log(num);}add(num);//输出200console.log(num);//输出100</script>
注意请看上面代码的输出情况,第一个输出的是200,第二个输出的100,所以这就是所谓的值拷贝,就是相当于参数num在函数内部新创建了一个num变量,可以这样理解当外面的参数传递进来之后外面的变量已经和函数内部没有关系了。所以会输出一个200,一个100.
2.对于引用数据类型
在js中如果参数是引用数据类型,那么传递的就是引用数据类型的指针。说到指针就会涉及到栈,堆等等内容,这里不做其他内容的过多介绍。暂时可以记住:引用数据类型在内存的栈空间中存储的是指针,在堆空间中存储的是指针指向的内容。
<script type="text/javascript">var obj={name:"aa"}function fun(obj){console.log(obj.name);//输出aaobj.name="bb";console.log(obj.name);//输出bb}fun(obj);console.log(obj.name);//输出bb</script>
观察上面的代码可以看出当参数obj传递进入函数之后,如果函数内部对obj进行了操作,那么原来的obj也会发生改变。
3.总结
上面的两种情况就是在js中传参的原则,也就是所谓的值拷贝,其实我觉得其实只要记住一点引用数据类型传递是指针就可以啦。
阅读全文
0 0
- js中的参数传递
- JS中的attachEvent、addEventListener如何传递参数
- JS中的attachEvent、addEventListener如何传递参数
- js中的函数参数传递原则
- 动态为js中的function传递参数问题
- php中参数的传递,并在js中的应用
- JSP传递参数到JS中的方法和问题
- JS的参数传递
- js 传递参数
- js showModalDialog参数传递
- js setTimeout 参数传递
- 利用JS传递参数
- js setTimeout 参数传递
- js showModalDialog参数传递
- js传递参数问题
- js传递event参数
- js 传递参数
- js中传递参数
- php定时自动执行任务(后台执行)
- [servlet] 01 Servlet接口
- nosql数据库
- ios 2017年5月审核不通过解决
- WeakHashMap的实现原理
- js中的参数传递
- [LeetCode]20.Valid Parentheses
- 蓝桥杯决赛之魔方
- 算法训练 红与黑
- 下拉框默认选中当前年、月、日的实现!
- [LeetCode]583. Delete Operation for Two Strings
- 复习
- HTML的基本结构语法
- codeigniter3项目实践,项目目录和公共配置文件