猿问

我可以更改函数内部传递的值吗?

我想使用 传输变量function(),但我不确定是否可以将变量放入变量中


我试着把变量放在这样的变量中 var toStore = myVariable


var myText = "Hi";


changeMyText(myText);



function changeMyText(variableToUse) {

    variableToUse = "Hello World";

    console.log(myText);

}

它不会改变变量的内容 myText


ibeautiful
浏览 171回答 1
1回答

慕的地8271018

实际上,您传递给函数的参数是pass by value这意味着即使您更改参数值,它也不会反映到实际值...这里,来自w3Schools - JavaScript 函数参数参数按值传递函数调用中的参数是函数的参数。JavaScript 参数是按值传递的:函数只知道值,而不是参数的位置。如果函数改变了参数的值,它不会改变参数的原始值。对参数的更改在函数外部不可见(反映)。对象通过引用传递在 JavaScript 中,对象引用是值。因此,对象的行为就像它们通过引用传递一样:如果一个函数改变了一个对象的属性,它就会改变原来的值。对对象属性的更改在函数外部可见(反映)这来自mdn - 函数减速| 谢谢@Ivar原始参数(例如数字)按值传递给函数;该值 > 传递给函数,但如果函数更改了参数的值,则此更改不会在全局或调用函数中反映出来。如果您将对象(即非原始值,例如 Array 或用户定义的对象)作为 >a 参数传递,并且函数更改了对象的属性,则该更改在函数外部可见
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答