Argumente sind völlig unnötig in diesem Beispiel. In JS, haben wir Verkettung einfache Zeichenfolge, die auch Zahlen dazwischen unterstützt, so können Sie dies erreichen mit einem einfachen
var str = 'Number' + ' ' + 12
Wenn Sie in Nicht-Zeichenketten wirklich Argumente wollen, können Sie einfach die %1
mit dem Ersatz ersetzen . QString::arg
(mit einem Argument) ist nichts anderes als die folgenden:
function stringArg(str, arg)
{
for(var i = 1; i <= 9; ++i)
if(str.indexOf('%'+i) !== -1)
return str.replace('%'+i, arg);
return str;
}
So Ihr Code wird:
var str = "%1 %2"
str = stringArg(str, "Number")
str = stringArg(str, 12)
(Beachten Sie, dass diese Funktion nur %1
verarbeiten kann .. %9
, während QString::arg
verarbeiten kann zu %99
.Dies erfordert ein bisschen mehr Logik, da %10
in meinem Code als %1
gedient ist.Dies ist nicht genau das gleiche wie QString::arg
, aber es wird in den meisten Fällen ausreichen.Sie könnten auch eine stringArg
schreiben Funktion, die mehrere Ersetzungsargumente nimmt, aber für die Einfachheit schrieb ich gerade dieses hier.)
Gibt es einen Leistungsmangel? –