我有一個小問題:把雙變量之間的變量
我有一個JavaScript函數。
var func = function(variable)
{
result = variable;
}
如果我打電話
func(rabbit);
我需要的結果是 「兔子」。
我不知道如何把兩個引號之間的變量。
我有一個小問題:把雙變量之間的變量
我有一個JavaScript函數。
var func = function(variable)
{
result = variable;
}
如果我打電話
func(rabbit);
我需要的結果是 「兔子」。
我不知道如何把兩個引號之間的變量。
假設rabbit
應該是一個字符串:
func("rabbit");
如果rabbit
實際上是一個變量,那麼有沒有辦法做到這一點,因爲變量(意思是可變的實現的表示)是不實際傳遞給函數,而是它的值。
我從你的問題中無法判斷你是否想要「兔子」成爲屬性名稱或價值。所以這裏是:
var func = function(variable) {
window[variable] = 'abc'; // Setting the variable as what is passed in
window.result = variable; // Normal
}
func('rabbit'); // Will set both window.rabbit to 'abc', and window.result to 'rabbit'
雖然,我不會建議設置全局變量。 More info
實際上有一種古老的方式來檢索變量名稱。
var func = function(variable)
{
console.log(variable); // outputs "white"
console.log(arguments.callee.caller.toString().match(/func\((.*?)\)/)[1]); // outputs "rabbit"
}
rabbit = 'white';
func(rabbit);
好吧,我認爲這是我的問題。現在我很確定那不是它,但我不知道那是什麼。
我有這個在我的功能:
defaults = {title :{'pan':-1,'left':0,'volume':0.30,'top':111}};
其中標題是從功能的變量。但是,結果我得到了默認的標題,而不是存儲在名爲title的變量中的實際標題。你明白我說的嗎?
你能做到這一點
function whatever(input) {
return '\"' + input + '\"';
}
結果應該是在引號
怎麼樣'FUNC( 「兔子」)'? –
函數不可能知道調用者傳遞的變量的名稱。 – SLaks
@SLaks:...只要你不解析帶字符串化函數的堆棧跟蹤:-) – Bergi