Die Ressourcen sind geladen. Beförderung...

2.9 Strategie Debugger beim Betrieb des Roboters (JS-Eval-Funktion)

Schriftsteller:Die Erfinder quantifizieren - Kleine Träume, Erstellt: 2016-11-15 14:54:40, Aktualisiert: 2017-10-11 10:21:40

Interaktionsstrategien Debugger während des Roboterbetriebs (Zufall der JS eval-Funktion)

  • Lassen Sie uns zunächst einen Überblick über die eval-Funktion in JS geben:

    W3schuleimg img

    Wenn Sie die eval-Funktion kennen, dann schauen Sie sich die Implementierung in der Strategie-Interaktion an!

  • Die Implementierung von Strategie-Interaktionen:

    Die Strategieinteraktion erfordert, dass der Benutzer die zurückgegebenen Werte der API GetCommand-Funktion verarbeitet.

var cmd = GetCommand();             // 调用API  获取界面交互控件的消息。 
if (cmd) {                          // 判断是否有消息
    var js = cmd.split(':', 2)[1];  // 分割 返回的消息 字符串, 限制返回2个, 把索引为1的 元素 赋值给 名为js 的变量 
    Log("执行调试代码:", js);         // 输出 执行的代码
    try {                           // 异常检测
        eval(js);                   // 执行 eval函数, 该函数执行传入的参数(代码)。
    } catch(e) {                    // 抛出异常
        Log("Exception", e);        // 输出错误信息
    }
}

Im Folgenden schreiben wir diesen Code in eine Strategie und konfigurieren die Interface-Kontrollen. Der vollständige Testcode:

var price = 0;
var amount = 0;
function main() {
    Log("初始 price:", price, "初始 amount", amount);
    while(true){
        var cmd = GetCommand();             // 调用API  获取界面交互控件的消息。 
        if (cmd) {                          // 判断是否有消息
            var js = cmd.split(':', 2)[1];  // 分割 返回的消息 字符串, 限制返回2个, 把索引为1的 元素 赋值给 名为js 的变量 
            Log("执行调试代码:", js);         // 输出 执行的代码
            try {                           // 异常检测
                eval(js);                   // 执行 eval函数, 该函数执行传入的参数(代码)。
            } catch(e) {                    // 抛出异常
                Log("Exception", e);        // 输出错误信息
            }
        }
        Sleep(1000);
    }
}

Ein weiteres Interaktions-Kontrollen:img

  • Lassen Sie es laufen:

    imgWir haben die globale Variable "price" und "amount" geändert.imgWenn es sich um falschen Code handelt, wird eine Ausnahme ausgelöst:img

Mehr

Leichte WolkenDank Dreama finden wir endlich eine Art, wie wir miteinander interagieren können.