我有一个小问题:把双变量之间的变量
我有一个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