【发布时间】:2017-09-22 06:49:24
【问题描述】:
我为 Google Chrome 制作了一个插件。它是一个用于浏览器自动化的脚本工具 - 它执行在 javascript 文件中定义的指令并单击链接、填写表单等。
带有指令的简单脚本示例如下所示:
function tron_main(step) {
switch (step) {
case 0:
tron_visit('http://www.example.com');
break;
case 1:
tron_click('#login-button');
break;
case 2:
tron_fill('#login-form input.username', 'admin', 1);
tron_fill('#login-form input.password', 'password123', 1);
tron_click('#login-form input[type="submit"]', 1);
break;
case 3:
tron_end('End of TRON, we should be logged in').
break;
}
}
它会打开一个 url,然后点击登录按钮,然后填写并提交登录表单。
还有可能将“辅助函数”(我现在称之为)用于重复性任务——比如包含自己的一组指令的过程、子例程。
这些“辅助功能”的使用示例:
function tron_main(step) {
...
case 3:
// execute secondary function tron_log_me_in()
tron_execute('tron_log_me_in');
break;
...
}
// our secondary function
function tron_log_me_in(step) {
switch (step) {
case 0:
tron_click('#login-button');
break;
case 1:
tron_fill('#login-form input.username', 'admin', 1);
tron_fill('#login-form input.password', 'password123', 1);
tron_click('#login-form input[type="submit"]', 1);
break;
case 2:
// terminate secondary function and return to tron_main() function
tron_return();
break;
}
}
我的问题是,调用这些辅助函数“PROCEDURES”是否正确,因为它不返回任何值并且只执行一组指令?即使它实际上是一个javascript函数?或者对于这样的“构造”是否有更合适的命名约定?
完整文档了解更多详情:http://automatron.activit.sk
【问题讨论】:
标签: function terminology procedure