JavaScript中奇怪的函数行为

GDP2

我在我的项目中正在执行以下类型的代码,其结果使我感到困惑。

function changeSomethingsValue (thingToChange) {
    thingToChange = "something else";
}

var something = "something";

changeSomethingsValue(something);

console.log(something); // prints out "something"

我对为什么something变量的值在通过changeSomethingsValue函数后仍然是字符串“ something”感到困惑为什么会发生这种情况,以及如何获取将新值分配给传入的变量的函数?

汤姆

传递基元(例如字符串或数字)时,将按值传递。您期望它通过引用传递。

解决方法是将其设置something为的返回值changeSomethingsValue

function changeSomethingsValue (thingToChange) {
    thingToChange = "something else";

    return thingToChange;
}

var something = "something";

something = changeSomethingsValue(something);

console.log(something); // prints out "something"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaScript中奇怪的函数行为

来自分类Dev

Javascript函数中的奇怪行为

来自分类Dev

Javascript新Date函数中的奇怪行为

来自分类Dev

递归函数中的奇怪/奇怪行为

来自分类Dev

javascript中循环的奇怪行为

来自分类Dev

javascript Promise 中的奇怪行为

来自分类Dev

JavaScript函数默认参数-奇怪的行为

来自分类Dev

R中匹配函数的奇怪行为

来自分类Dev

R 3.0.0中by()函数的奇怪行为?

来自分类Dev

dplyr中do()函数的奇怪行为

来自分类Dev

虚拟函数中final的奇怪行为

来自分类Dev

关于C ++中构造函数的奇怪行为

来自分类Dev

R中truncdist的积分函数的“奇怪”行为

来自分类Dev

递归函数在PHP中的行为很奇怪

来自分类Dev

R中匹配函数的奇怪行为

来自分类Dev

javascript中检查条件的奇怪行为

来自分类Dev

JavaScript中奇怪的FOR循环行为

来自分类Dev

JavaScript中名为“状态”的变量的奇怪行为

来自分类Dev

JavaScript中奇怪的FOR循环行为

来自分类Dev

Json对象操作中的Javascript奇怪行为

来自分类Dev

JavaScript堆算法中for循环的奇怪行为

来自分类Dev

JavaScript中名为“状态”的变量的奇怪行为

来自分类Dev

Javascript setTimeout/clearTimeout 在电子中的奇怪行为

来自分类Dev

Firefox 中 javascript RegExp 的奇怪行为

来自分类Dev

MATCH函数的奇怪行为

来自分类Dev

等例函数的奇怪行为

来自分类Dev

递归函数的奇怪行为

来自分类Dev

.capitalize函数的奇怪行为

来自分类Dev

jQuery函数奇怪的行为