我想使用#34; buyprice"作为变量名称
var buy = function(buyprice,buypriceAdd){
buyprice = buyprice+buypriceAdd;
}
如果我跑
buy(buyprice1,10)
当我正在运行
时,它看起来像这样var buy = function(buyprice,buypriceAdd){
buyprice = buyprice1+10;
}
但我希望它结果如下:
var buy = function(buyprice,buypriceAdd){
buyprice1 = buyprice1+10;
}
任何想法如何将参数用作var名称?
答案 0 :(得分:0)
不可能,无论您传递给函数的是什么,都将被设置为您在函数定义中命名的变量的值。
答案 1 :(得分:0)
JavaScript是按值传递,而不是传递引用。这意味着您只能将变量的值传递给函数,而不是对变量的内存位置的引用(例如,您可以在PHP中执行)。
您必须从函数中返回值并自行分配:
var buyprice1 = buy(buyprice1, 10);
答案 2 :(得分:0)
如果将变量名称作为字符串传递,则可以。
buyprice1=200;
var buy = function(buyprice,buypriceAdd){
window[buyprice] = window[buyprice]+buypriceAdd;
}
buy('buyprice1',10);
alert(buyprice1);
答案 3 :(得分:0)
可能,但有些奇怪。
var buy = function(input) {
input.buyprice += input.buypriceAdd
}
args={buyprice:1,buypriceAdd:2}
buy(args);
现在buyprice是3
数组和对象通过引用传递,因此您可以在其中混乱。