JavaScript 通过引用传递变量

编程入门 行业动态 更新时间:2024-10-23 15:19:37
本文介绍了JavaScript 通过引用传递变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时送ChatGPT账号..

在 JavaScript 中是否有等效的 PHP 变量引用传递?

Is there an equivalent in JavaScript for PHP's reference passing of variables?

[PHP]:

function addToEnd(&$theRefVar,$str)
{
    $theRefVar.=$str;
}
$myVar="Hello";
addToEnd($myVar," World!");
print $myVar;//Outputs: Hello World!

如果可能,相同的代码在 JavaScript 中会是什么样子?

How would the same code look in JavaScript if possible?

谢谢!

推荐答案

对象被作为引用传递.

   function addToEnd(obj,$str)
   {
      obj.setting += $str;
   }

   var foo = {setting:"Hello"};
   addToEnd(foo , " World!");

   console.log(foo.setting);                    // Outputs: Hello World!

正如在下面的评论中发布的那样,CMS 提到了一个很棒的 文章.应该提到的是,在 JavaScript 中没有真正的方法可以通过引用传递任何东西.第一行已从by reference"更改为as reference".这种变通方法与您将要得到的一样接近(有时甚至全局变量的行为也很有趣).作为 CMS,HoLyVieR 和 Matthew 指出,应该区分 foo 是对对象的引用,该引用通过传递给函数. As posted in comments below, CMS made mention of a great article. It should be mentioned that there is no true way to pass anything by reference in JavaScript. The first line has been changed from "by reference" to "as reference". This workaround is merely as close as you're going to get (even globals act funny sometimes). As CMS, HoLyVieR, and Matthew point out, the distinction should be made that foo is a reference to an object and that reference is passed by value to the function.

以下内容是处理对象属性的另一种方法,使您的函数定义更加健壮.

The following is included as another way to work on the object's property, to make your function definition more robust.

   function addToEnd(obj,prop,$str)
   {
      obj[prop] += $str;
   }

   var foo = {setting:"Hello"};
   addToEnd(foo , 'setting' , " World!");

   console.log(foo.setting);                    // Outputs: Hello World!

这篇关于JavaScript 通过引用传递变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

更多推荐

[db:关键词]

本文发布于:2023-04-28 07:03:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1169689.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:变量   JavaScript

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!