// Creating a new script with any number of subscripts triggers the newScript hook exactly once.
var g = newGlobal({newCompartment: true}); var dbg = Debugger(g); var seen = new WeakMap(); var hits;
dbg.onNewScript = function (s) {
assertEq(s instanceof Debugger.Script, true);
assertEq(!seen.has(s), true);
seen.set(s, true);
hits++;
};
dbg.uncaughtExceptionHook = function () { hits = -999; };
function test(f) {
hits = 0;
f();
assertEq(hits, 1);
}
// eval declaring a function
test(function () { g.eval("function A(m, n) { return m===0?n+1:n===0?A(m-1,1):A(m-1,A(m,n-1)); }"); });
// evaluate declaring a function
test(function () { g.eval("function g(a, b) { return b===0?a:g(b,a%b); }"); });
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.