我有一个小问题:
我在javascript中有一个函数。
var func = function(variable)
{
result = variable;
}
如果我打电话
func(rabbit);
我需要结果是“兔子”。
我无法弄清楚如何将变量放在两个引号之间。
答案 0 :(得分:1)
假设rabbit
应该是一个字符串:
func("rabbit");
如果rabbit
实际上是一个变量,那么就没办法做到这一点,因为变量(意味着实现的变量表示)实际上并没有传递给函数,而是它的值是。
答案 1 :(得分:1)
实际上,有一种古老的方法来检索变量名称。
var func = function(variable)
{
console.log(variable); // outputs "white"
console.log(arguments.callee.caller.toString().match(/func\((.*?)\)/)[1]); // outputs "rabbit"
}
rabbit = 'white';
func(rabbit);
看到它正在运行http://jsfiddle.net/Q55Rb/
答案 2 :(得分:1)
你可以这样做
function whatever(input) {
return '\"' + input + '\"';
}
结果应该是引号
答案 3 :(得分:0)
我无法从你的问题中看出你是否想要“兔子”作为财产名称或价值。所以这两者都是:
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
答案 4 :(得分:0)
好的,我认为这是我的问题。现在我很确定不是这样,但我不知道它是什么。
我的功能中有这个:
defaults = {title :{'pan':-1,'left':0,'volume':0.30,'top':111}};
其中title是函数的变量。但结果是我在默认值中获得了标题,而不是存储在名为title的变量中的实际标题。你了解我吗?