1

我有一个小问题:

我在javascript中有一个函数。

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

如果我打电话

func(rabbit);

我需要结果是“兔子”。

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

4

5 回答 5

1

假设rabbit应该是一个字符串:

func("rabbit");

如果rabbit实际上是一个变量,那么就没有办法做到这一点,因为变量(意味着实现对变量的表示)实际上并没有传递给函数,而是它的值。

于 2012-11-20T23:10:59.573 回答
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/

于 2012-11-20T23:45:24.690 回答
1

你可以这样做

function whatever(input) {
  return '\"' + input + '\"';
}

结果应该用引号引起来

于 2017-02-16T10:42:01.320 回答
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'

不过,我不建议设置全局变量。更多信息

于 2012-11-20T23:11:13.817 回答
0

好的,我认为这是我的问题。现在我很确定那不是它,但我不知道那是什么。

我的函数中有这个:

defaults = {title :{'pan':-1,'left':0,'volume':0.30,'top':111}}; 

其中 title 是函数中的变量。但结果我得到的是默认标题,而不是存储在名为 title 的变量中的实际标题。你了解我吗?

于 2012-11-21T08:22:39.863 回答