资讯专栏INFORMATION COLUMN

你们真的了解函数的传参嘛?

李增田 / 2592人阅读

摘要:前言函数传参我们天天都在用,但是你们真的了解嘛就当你们很了解了,毕竟是一些基础的东西,我就写几个例子,不喜勿喷。

前言

函数传参我们天天都在用,但是你们真的了解嘛?就当你们很了解了,毕竟是一些基础的东西,我就写几个例子,不喜勿喷。

例子

demo1:

var obj = {name: "mirok"} 
function demo1(obj) {
    obj.name = "july"
}
demo1(obj)
console.log(obj.name)  //july,命名参数的引用和外部一致

demo2:

var obj = {name: "mirok"} 
function demo2(obj) {
    obj.name = "july"
    obj = new Object()
    obj.name = "deny"
}
demo2(obj)
console.log(obj.name) //july ,参数是按值传递,但是引用指向同一堆内存

demo3:

var obj = {name: "mirok"} 
function demo3(obj) {
    arguments[0].name = "july"
}
demo3(obj)
console.log(obj.name) //july,arguments的修改和命名参数修改一致,但是argumetns数组由参入参数的数量决定,而不是命名参数的数量

就是引用类型值和基本类型值传值会有一点差异

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/96380.html

相关文章

  • JAVA传参机制

    摘要:之前一直感觉和代码之间的转换是分分钟的事情,直到今天刷题剑指时,被引用给虐了。。之前看网上很多博客讲的参数传递分两种,实际上只有一种,即值传递。如图将当做参数传入方法,方法入栈后在栈内存中给形参开辟了一个新的引用指向堆内存。 之前一直感觉C++和JAVA代码之间的转换是分分钟的事情,直到今天刷题《剑指offer》时,被引用给虐了。。才知道C++虽然看起来臃肿,但是对于数据的操作是真的灵...

    ygyooo 评论0 收藏0
  • 【Java系列】从字节码角度深度理解Java函数调用传参方式

    摘要:下文将从字节码的角度,分析中基本类型传参和对象传参。主函数执行时,操作栈会推入主函数栈帧,其中包含了主函数的局部变量表,字节码,返回值等信息。主函数的栈帧会被推入栈,成为当前操作栈。 个人网站地址: http://kailuncen.me/2017/06/0... 一个小问题 在开源中国看到这样一则问题 https://www.oschina.net/quest...,其中的变量a前...

    LdhAndroid 评论0 收藏0
  • 几种常见的Vue组件间传参方式

    摘要:缺点用这种方法写出来的组件十分难维护,因为你并不知道数据的来源是哪里,有悖于单向数据流的原则拿到的是一个数组,你并不能很准确的找到你要找的子组件的位置,尤其是子组件多的时候。 几种常见的Vue组件间的传参方式 Vue父子组件通讯的方法其实有很多,本文只是做一个总结,说说他们的优缺点,具体如何使用相关文档和网上大神已经总结的很多里,这里就不再说明。 1.Vuex 介绍 Vuex 是一个专...

    TalkingData 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<