Как добавить переменную в консоль.лог?

Я делаю простую игру на JavaScript, но в истории мне нужно сказать имя игроков. так что у меня пока есть:

var name = prompt("what is your name?");

console.log("story" name "story);

Как сделать вторую строку? или есть другой способ сделать это. Можно ли иметь 2 console.log(); на 1 строке в консоли?

9 ответов


затем использовать + объединить stirngs:

console.log("story " + name + " story");

console.log принимает несколько аргументов, поэтому просто используйте:

console.log("story", name, "story");

если имя это object или array тогда использование нескольких аргументов лучше, чем конкатенация. Если вы объедините object или array в строку, вы можете просто войти типа, а не переменной.

но если имя - это просто примитивный тип, тогда несколько аргументов работают так же, как конкатенация.


вы можете использовать другой способ-консоль:

var name = prompt("what is your name?");
console.log(`story ${name} story`);

при использовании ES6 вы также можете сделать это:

var name = prompt("what is your name?");
console.log(`story ${name} story`);

Примечание: вам нужно использовать backticks "вместо ""или", чтобы сделать это так.


существует несколько способов утешения переменной внутри строки.

Способ 1 :

console.log("story", name, "story");

преимущество: если name является объектом JSON, он не будет напечатан как "story" [object Object] "story"

Способ 2 :

console.log("story " + name + " story");

Метод 3: при использовании ES6, как указано выше

console.log(`story ${name} story`);

преимущество: отсутствие потребности экстра, или +

Способ 4:

console.log('story %s story',name);

преимущество: строка становится более читаемой.


вы можете передать несколько args в журнал:

console.log("story", name, "story");

Это зависит от того, что вы хотите.

console.log("story "+name+" story") Уилл!--7-->объединения строк и печати. Для меня я использую это, потому что легче видеть, что происходит.

используя console.log("story",name,"story") похоже на конкатенацию, однако, похоже, что работает что-то вроде этого:

 var text = ["story", name, "story"];
 console.log(text.join(" "));

это толкает все элементы в массиве вместе, разделенные пробелом: .join(" ")


и console.log("story" + name + "story") и console.log("story", name, "story") работает просто отлично, как уже упоминалось в предыдущих ответах.

Я все еще предлагаю иметь привычку console.log("story", name, "story"), потому что при попытке распечатать содержимое объекта, например объект json, имея "story" + objectVariable + "story" преобразует его в строку.

это будет выход, как : "story" [object Object] "story".

просто хорошая практика.


вы можете использовать обратную косую черту, чтобы включить как историю, так и имя игроков в одну строку.

var name=подсказка ("как тебя зовут?"); приставка.Журнал ("История" \название\"История");