JavaScript 中是否有等效的 PHP 变量引用传递?
[PHP]:
function addToEnd(&$theRefVar,$str)
{
$theRefVar.=$str;
}
$myVar="Hello";
addToEnd($myVar," World!");
print $myVar;//Outputs: Hello World!
如果可能的话,相同的代码在 JavaScript 中会是什么样子?
谢谢你!
对象被传递as参考。
function addToEnd(obj,$str)
{
obj.setting += $str;
}
var foo = {setting:"Hello"};
addToEnd(foo , " World!");
console.log(foo.setting); // Outputs: Hello World!
Edit:
- 正如下面评论中所发表的,CMS提到了一个伟大的article.
- 应该提到的是,没有真正的方法可以传递任何东西引用在 JavaScript 中。第一行已从“通过引用”更改为“作为参考”。这个解决方法只是你能得到的最接近的解决方法(即使全局变量有时也会表现得很有趣)。
- As CMS, HoLyVieR, and Matthew指出,应该区分的是
foo
是对对象的引用,并且该引用通过value到函数。
以下内容是处理对象属性的另一种方法,以使您的函数定义更加健壮。
function addToEnd(obj,prop,$str)
{
obj[prop] += $str;
}
var foo = {setting:"Hello"};
addToEnd(foo , 'setting' , " World!");
console.log(foo.setting); // Outputs: Hello World!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)