2014-10-31 2 views
-1

Я хочу использовать аргумент «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

В чем смысл этого? Чего вы пытаетесь достичь? – LcSalazar

ответ

0

Это возможно, если вы передаете имя переменной в виде строки.

buyprice1=200; 
var buy = function(buyprice,buypriceAdd){ 
     window[buyprice] = window[buyprice]+buypriceAdd; 
} 
buy('buyprice1',10); 
alert(buyprice1); 

http://jsfiddle.net/5v4chywv/

+0

Спасибо вам большое! : D работал как шарм: D –

0

Невозможно, все, что вы передадите функции, будет установлено как значение переменной, которую вы назвали в определении функции.

0

JavaScript is Пропускная стоимость, а не переуступка. Это означает, что вы можете передать значение переменной только функции, а не ссылку на ячейку памяти этой переменной (например, вы можете сделать это в PHP).

Вы должны были бы вернуть значение из функции и присвоить его себе:

var buyprice1 = buy(buyprice1, 10); 
0

Возможно, но с какой-то странность.

var buy = function(input) { 
    input.buyprice += input.buypriceAdd 
} 
args={buyprice:1,buypriceAdd:2} 
buy(args); 

Теперь buyprice 3

Массивы и объекты передаются по ссылке, так что вы можете бездельничать внутри них.

Смежные вопросы