声明:本文就前两天学习的 javascript函数,传参方式进行笔记;

1.按值传递

当js函数的参数是基本数据类型时,当调用方法时传入的是一个数值;也就是说 仅仅是把值给了这个方法,在这个方法中改变,重新赋值都不会改变方法外边的全局变量;

代码如下:

按值传递

理解:num变量实际上实在方法add中声明的,只在add方法这个作用域内有效,调用方法时,只是复制了一份相同的值给了num,方法内不管发生什么,和方法外界没有任何关系;所以这叫按值传递;

2.共享传递

当函数的参数是引用数据类型时,调用方法时,参数传递方式为共享传递——传递的是实参的地址拷贝;先看现象:

共享传递

注意:在方法中添加属性name改变了外部变量person的属性,but,,,在方法中重新new一个对象,却没有改变外部变量;这对理解会造成一个困惑;一部分人认为它是按值传递的;那么obj.name = "Bob"却能改变外部属性?还有一部分人认为是按引用传递的,那么当给它重新赋值时,引用应该指向新的变量,但是并没有;

理解:共享传递实际上传递的是,外部变量的引用拷贝,注意是拷贝哦,ok,如此这样,你用这个拷贝来的引用去改变外部变量的内部属性,没问题,可以成功,but,,,如果你直接新创建一个对象给它,并不影响外部变量,只是将该拷贝来的引用变了,而且,方法一调用完毕,都会当作垃圾回收;

arguments

但是在方法内部,若使用argumentts[0] = {name:"kanda" }这样的字段去改变参数,结果会发生什么?

事实证明,arguments和应该使用一个引用,但是他们不回改变外部变量的引用;

js定义入参_js函数传参类型相关推荐

  1. JS一起学02:函数传参、操作属性第二种方式、提取行间事件、循环、this、焦点问题、联动选择、选项卡焦点图

    一.函数传参     1.函数传参:参数就是占位符----函数里定不下来的东西 var a1=function(){ alert(123); }; function a(f){ // 相当于 f=a1 ...

  2. JS一起学05:Date对象、封闭空间、函数传参和封装、获取非行间样式、字符串操作

    一.Date对象 1. 获取 oDate.getFullYear() 获取年份 oDate.getMonth()+1  获取月份 0-11----->1-12 oDate.getDate() 获 ...

  3. 论JS函数传参时:值传递与引用传递的区别

    JS函数传参时:值传递与引用传递的区别? 值传递:值传递的数据为基本数据类型,基本数据类型在内存中存放的是数值本身:值传递为单向传递,只能由实参传递给形参. 引用传递:引用传递的数据为复杂数据类型,复 ...

  4. JS函数传参时:值传递与引用传递的区别

    JS函数传参时:值传递与引用传递的区别 一.先分析基础数据与复杂数据的区别 : 基本数据类型:Undefined.Null.Boolean.Number.String 引用数据类型:对象 如:var ...

  5. Shell函数(函数定义、函数变量、函数调用、函数传参、函数返回值、获取函数返回值)

    分享知识 传递快乐 1.函数定义 linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.Shell 函数定义的语法格式如下: [function] funname [()]{函 ...

  6. 函数传参之商品价格计算—JS学习笔记2015-6-6(第50天)

    经常我们可以看到很多网站会有多个相同功能的模块,比如淘宝首页的轮播,比如新浪首页的tab切换: 那么可以看出这些地方在HTML结构上是类似的,所以我们可以考虑用一块功能代码去实现,而不同是仅仅是传递参 ...

  7. JS中函数传参按照值传递

    ES语法中所有函数的参数都是按值传递的. 探讨函数参数按值传递问题: //1.参数被赋值为原始值 function add(num){num += 10;return num; } let count ...

  8. 事件——事件绑定||事件函数传参||事件修饰符||按键修饰符||自定义按键修饰符

    事件绑定 <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8& ...

  9. Python基础day05【函数(函数传参的两种形式、函数形参)、拆包、引用、可变与不可变类型、引用做函数参数注意点】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员]    目录 0.复习 1.函数传参的两种形式[掌握] 2.函数形参 2.1.缺省参数(默认参数) ...

  10. Shell脚本函数(函数传参、递归、创建库)

    Shell脚本函数 一.Shell函数 1.Shell函数定义 2.函数的返回值 return echo 二.函数传参 三.函数变量的作用范围 四.递归 1.阶乘 2.递归目录 五.创建库 一.She ...

最新文章

  1. 以太坊数据结构MPT
  2. 新网站是如何吸引蜘蛛进行爬取的?
  3. leetcode-120-三角形最小路径和
  4. J2EE 企业级应用架构简述
  5. mysql固定某列获取不连续的值_SQL-怎么把一列不规律的值,取出其中连续段的首尾数字?...
  6. thymeleaf 消息推送_Springboot集成WebSocket+Thymeleaf+Echarts完成数据的实时推送
  7. Android的单位及屏幕分辨率
  8. CSDN 原力 -- beta 测试中
  9. wangEditor富文本编辑器的简单使用
  10. Visio绘图工具,“连接线”命令使用方法
  11. 根据入职日期计算工龄
  12. 如何批量压缩图片?教你一键批量压缩图片的方法技巧
  13. WebApi-05 (三大家族及轮播图案例分享)
  14. IKBC键盘Win键失效的解决办法
  15. 源码分析mmc体系结构
  16. 使用ALLMAPS进行辅助组装得到准染色体水平基因组
  17. android聚合社交通讯录app,这5款APP让你抛弃手机自带通讯录
  18. Failure delivering result ResultInfo
  19. Windows更改鼠标指针样式
  20. Google Web开发最佳实践(一)

热门文章

  1. 辨别尸体死亡时间! [转]
  2. c语言——求逆矩阵,伴随矩阵,行列式
  3. Delphi中使用Imageen控件将图像文件转换成PDF
  4. nb信号和4g信号_工业级NB-IoT和4G DTU区别分析
  5. 柱形图配色丨细节问题
  6. 尺度、空间异质性、干扰、景观多样性、景观连接度,对其概念的理解
  7. 内存超频时序怎么调_内存超频(ddr4内存时序多少为好)
  8. 西电2019计算机等级考试,西安电子科技大学2019《计算方法》期末考试试题
  9. du和df命令的区别
  10. TTL转HDMI,首选LT8618SXB,提供技术支持