var o = {
valueOf : function () {
return {
toString : function () { return "fail" }
}
},
toString : function () { return "good" }
};
var p = {
valueOf : function () {
return {
toString : function () { return "0" }
}
},
toString : function () { return "7" }
};
var q = {
toString : function () {
return {
valueOf : function () { return "0" }
}
},
valueOf : function () { return "7" }
};
function assert (b, s) {
if (b)
return ;
assertEq("imacro produces incorrect result for " + s, "fail" );
}
function run() {
for (var i = 0 ; i < 5 ; ++i) {
// equality / inequality
assert (!(o == "fail" ), "obj == any" );
assert (!("fail" == o), "any == obj" );
assert (!(o != "good" ), "obj != any" );
assert (!("good" != o), "any != obj" );
// binary
assert (!((p | 3 ) != 7 ), "obj | any" );
assert (!((3 | p) != 7 ), "any | obj" );
assert (!((p | p) != 7 ), "obj | obj" );
assert (!((p & 3 ) != 3 ), "obj & any" );
assert (!((3 & p) != 3 ), "any & obj" );
assert (!((p & p) != 7 ), "obj & obj" );
assert (!((p * 3 ) != 21 ), "obj * any" );
assert (!((3 * p) != 21 ), "any * obj" );
assert (!((p * p) != 49 ), "obj * obj" );
// addition
assert (!(o + "" != "good" ), "obj + any" );
assert (!("" + o != "good" ), "any + obj" );
assert (!(o + o != "goodgood" ), "any + any" );
// sign
assert (!(-p != -7 ), "-obj" );
assert (!(+p != 7 ), "+obj" );
// String
assert (!(String(q) != "7" ), "String(obj)" );
assert (!(new String(q) != "7" ), "new String(obj)" );
}
return true ;
}
run();
Messung V0.5 in Prozent C=93 H=86 G=89
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland