JavaScript函数参数的传递方式详解

下面是JavaScript函数参数的传递方式的详细讲解:

函数的参数传递方式

在JavaScript中,函数的参数可以通过以下三种方式进行传递:

  1. 值传递 (call by value)

传递的是一个值的副本,函数内部对传递进来的值进行修改不会影响原来的值。例如:

function foo(num) {
  num = 5;
  console.log(num); // 5
}

var a = 10;
foo(a);
console.log(a); // 10

这里传递的是变量a的值10的副本num,对num进行修改不会改变a的值。

  1. 引用传递 (call by reference)

传递的是一个对象的引用,函数内部对传递进来的对象进行修改会影响原来的对象。例如:

function changeObj(obj) {
  obj.name = 'Lucy';
}

var person = { name: 'Tom' }
changeObj(person);
console.log(person.name); // 'Lucy'

这里传递的是对象person的引用,对其属性进行修改会影响原对象。

  1. 传递undefined

如果函数的参数没有传入具体的值,那么其默认值为undefined。例如:

function test(arg) {
  console.log(arg);
}

test(); // undefined

示例

下面是两个示例:

  1. 值传递
var a = 10;
function foo(num) {
  num = 5;
  console.log(num); // 5
}
foo(a);
console.log(a); // 10
  1. 引用传递
function changeObj(obj) {
  obj.name = 'Lucy';
}

var person = { name: 'Tom' }
changeObj(person);
console.log(person.name); // 'Lucy'

以上就是JavaScript函数参数的传递方式的详细讲解。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript函数参数的传递方式详解 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 通过JS来判断页面控件是否获取焦点

    通过JS来判断页面控件是否获取焦点,可以使用DOM的focus和blur事件进行判断。当页面控件获得焦点时,触发focus事件;当失去焦点时,触发blur事件。下面我将介绍两个使用示例: 判断输入框是否获取焦点 为了判断输入框是否获取焦点,需要为该输入框添加focus和blur事件监听器。当input获取焦点时,显示提示框;当失去焦点时,移除提示框。 代码示…

    JavaScript 2023年6月11日
    00
  • window.location.hash 使用说明

    当我们使用浏览器地址栏发送请求或者通过JS动态操作URL时,URL中除了问号(?)后的参数,还有一个#hash值。这个hash值可以通过JS的window.location.hash属性获取或者设置。下面让我们看一下window.location.hash的使用说明。 获取hash值 可以使用window.location.hash属性获取当前页面URL中的…

    JavaScript 2023年6月11日
    00
  • javascript 获取所有id中包含某关键字的控件的实现代码

    获取所有id中包含某关键字的控件,可以使用JavaScript DOM中的document.querySelectorAll()方法。该方法可以选择所有匹配指定选择器的元素,并以NodeList对象返回它们。 实现步骤: 获取页面中所有元素的ID 遍历所有ID,如果该ID包含目标关键字,则将该元素存入结果数组中 返回结果数组 以下是实现代码示例1,假设我们要…

    JavaScript 2023年6月10日
    00
  • js获取触发事件元素在整个网页中的绝对坐标(示例代码)

    正常情况下,通过JavaScript获取元素坐标有两种方式:相对于视口的位置(即viewport)和相对于文档的位置。获取相对于整个文档的坐标,也被称为获取元素的绝对坐标。 方法一:使用element.getBoundingClientRect() element.getBoundingClientRect()可以返回元素的大小及其相对于视口的位置。该方法返…

    JavaScript 2023年6月10日
    00
  • JS 遍历 json 和 JQuery 遍历json操作完整示例

    下面为你详细讲解JS遍历JSON和jQuery遍历JSON操作的完整攻略。 JS 遍历 JSON 1. 遍历JSON方法 遍历JSON有两种方法:for…in 和 Object.keys()。 2. for…in 遍历JSON for…in 循环可以用于遍历 JSON 对象以及数组: const myObj = { name: "Joh…

    JavaScript 2023年5月27日
    00
  • Javascript学习笔记3 作用域

    Javascript学习笔记3 作用域 在Javascript中,作用域是指变量能够被访问到的范围。掌握作用域是编写高质量代码的关键。本文将讲解Javascript中的作用域,帮助读者更好地理解Javascript的变量作用范围。 全局作用域 在Javascript中,没有在任何函数内部定义的变量都属于全局作用域,它们可以在代码中的任何地方被访问到。 var…

    JavaScript 2023年6月10日
    00
  • asp.net下模态对话框关闭之后继续执行服务器端代码的问题

    ASP.NET下模态对话框关闭之后继续执行服务器端代码的问题,可以通过以下方式实现: 1. 使用JavaScript和AJAX 在模态对话框中的“确认”或“取消”按钮中添加JavaScript代码,利用 AJAX 技术向服务器发送请求,通知服务器对话框已经被关闭,同时执行需要执行的服务器端代码。以下是示例代码: function CloseModal() {…

    JavaScript 2023年6月11日
    00
  • JS实现根据详细地址获取经纬度功能示例

    实现根据详细地址获取经纬度功能的过程中,可以按照以下步骤进行操作: 第一步:引入百度地图API 在文档的头部中引入百度地图API的js文件。例如,在html文件中可以通过以下代码引入库文件: <script src="http://api.map.baidu.com/api?v=2.0&ak=your-appkey">…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部