// Exercise object-literal creation. Many other tests also exercise details of // objects created by object literals -- e.g., byteSize-of-objects.js. Here we // simply want to hit the cases {run-once ctx, repeated ctx} x {constant, // parameterized} x {small, large}.
function build_large_literal(var_name, num_keys, extra) {
let s = "var " + var_name + " = {"; for (let i = 0; i < num_keys; i++) {
s += "prop" + i + ": " + i + ",";
}
s += extra;
s += "};"; return s;
}
let small_singleton = {a: 1, b: 2, 0: "I'm an indexed property" }; // Large enough to force dictionary mode -- should inhibit objliteral use in // frontend:
eval(build_large_literal("large_singleton", 513, ""));
let an_integer = 42;
let small_singleton_param = { a: 1, b: 2, c: an_integer };
eval(build_large_literal("large_singleton_param", 513, "prop_int: an_integer"));
function f(a_parameterized_integer) {
let small_templated = {a: 1, b: 2, 0: "I'm an indexed property" }; // Large enough to force dictionary mode -- should inhibit objliteral use in // frontend:
eval(build_large_literal("large_templated", 513, ""));
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.