用作javascript代码的变量值

时间:2012-12-12 14:06:05

标签: javascript

我有以下代码......

<script type="text/javascript">

var arr= new Array('10');


arr[0]='Need For Guru';
arr[1]='Qualities of a Guru';
arr[2]='Living Guru';
arr[3]='Who is a Satguru?';
arr[4]='Guru and Spiritual master';
arr[5]='Definition of discipleship';
arr[6]='Power of Faith';
arr[7]='Bad mouthing a Guru';
arr[8]='Fake Guru Shishya';
arr[9]='Pitfalls in the path of liberation';


var text='['+arr[0]+',\''+arr[1]+'\','+arr[2]+',\''+arr[3]+'\','+arr[4]+',\''+arr[5]+'\','+arr[6]+',\''+arr[7]+'\','+arr[8]+',\''+arr[9]+'\']';
document.write(text);

activatables('section', text );

</script>

我的问题是,我想使用value text作为javascript代码的一部分--- activatables('section', text ); ..以便代码变为如下所示

    activatables('section', ['Need For Guru','Qualities of a Guru',...]);

但是我无法做同样的事情..可以帮到这个人吗?

3 个答案:

答案 0 :(得分:1)

我想我明白你得到了什么...你想将数组序列化为文本,并将文本反序列化为新数组吗?

将其变成字符串......

var arr = ["Need for a Guru", "Qualities of a Guru" /*, etc... */ ];
var text = JSON.stringify(arr);

将字符串转换为数组...

var text = '["Need for a Guru", "Qualities of a Guru"]';
var arr = JSON.parse(text);
activatables('section', arr);

如果您已经有权访问源变量,显然您不需要反序列化/解析文本...您可以直接插入它。

var arr = ["Need for a Guru", "Qualities of a Guru" /*, etc... */ ];
activatables('section', arr);

答案 1 :(得分:0)

你为什么要这样做?如果需要数组的字符串表示形式,请使用:

JSON.stringify(arr);

可以使用以下方式作为参数传递:

activatables('section', JSON.stringify(arr) );

但是,在您的情况下,您似乎希望将字符串section和数组本身作为函数activatables的参数传递。如果是这种情况,您需要做的就是:

activatables('section', arr );

答案 2 :(得分:0)

activatables('section', ['Need For Guru','Qualities of a Guru',...]);

表示您将数组传递给activatables。使用当前代码,您可以通过传递arr来获得该效果,这是您想要的数组:

activatables('section', arr);