我正在开发一个API,需要将代码作为字符串传递给它,以便运行它,如下所示:
var api = [API ID],
code = "alert('some text')";
api.evalScript(code);
但是我有很多代码要同时传递,我怎样才能传递这样的整个函数?
var api = [API ID];
function my_code(){
alert('one');
alert('two');
alert('three');
}
api.evalScript(my_code());
这不起作用
答案 0 :(得分:1)
获取你的函数并附加一个空字符串,如下所示:
my_code += '';
将它强制转换为字符串。
答案 1 :(得分:0)
忽略此处的安全隐患。
所以evalScript可能需要一个字符串,你试图评估一个函数并且不能很好地工作。
让我们谈谈如何在JS中轻松连接一个大字符串。
var myCode = [
'alert("one");',
'alert("two");',
'alert("three");'
].join('');
api.evalScript(myCode)
答案 2 :(得分:0)
您将代码作为函数传递,而不是字符串。
var my_code = "alert('one');\n" +
"alert('two');\n" +
"alert('three');"
api.evalScript(my_code);
新行是可选的
答案 3 :(得分:0)
假设您将代码传递给将在API确定的某个稍后执行的API,并且您有一个希望API执行的函数,您可以将"mycode()"
传递给API。
但是,如果您打算立即执行代码,则根本没有任何理由可以使用API,因此您只需直接调用my_code()
即可。