在双引号之间放置一个变量

时间:2012-11-20 23:09:15

标签: javascript function variables double-quotes

我有一个小问题:

我在javascript中有一个函数。

var func = function(variable)
{
    result = variable;
}

如果我打电话

func(rabbit);

我需要结果是“兔子”。

我无法弄清楚如何将变量放在两个引号之间。

5 个答案:

答案 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的变量中的实际标题。你了解我吗?