Всем привет. Начал изучать JavaScript и столкнулся с ошибкой в книге. Вообщем создаю два массива:
var mass = ["I", "We",];
var mass2 = ["love", "hate", "not", "return"];
Далее пишу рандом для них:
var math = mass[Math.floor(Math.random() * 2)];
var math2 = mass2[Math.floor(Math.random() * 4)];
НО! если писать рандом в переменной, то как я понял, он один раз считает и записывает это число как значение переменной. Далее складываю все:
var result = math + " " + math2;
Ии при каждом вводе result мне выдает одно и то же выражение вместо рандомных. Но если в консоли каждый раз вводить так:
mass[Math.floor(Math.random() * mass.length)] + mass2[Math.floor(Math.random() * mass2.length)];
То все прекрасно работает. Задавал вопрос на другом форуме и у человека код работает.Но у меня почему то нет. Подскажите как это сделать, чтобы работало через переменную.
Чтобы добиться похожей структуры, Можно сделать это через функиции.
var math = () => mass[Math.floor(Math.random() * 2)];
var math2 = () => mass2[Math.floor(Math.random() * 4)];
var result = math() + " " + math2();
Разовью мысль @ВиталийДячук и доведу ее до абсурдности.
Так делать не стоит, это из раздела "вредные советы".
var mass = ["I", "We", ];
var mass2 = ["love", "hate", "not", "return"];
Object.defineProperty(window, 'math', {
get: () =>
mass[Math.floor(Math.random() * 2)]
});
Object.defineProperty(window, 'math2', {
get: () =>
mass2[Math.floor(Math.random() * 4)]
});
var result = math + " " + math2;
console.log(result);
result = math + " " + math2;
console.log(result);
result = math + " " + math2;
console.log(result);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть форма с инпутом содержащим ФИОМожно ли сделать так, чтобы при сохранении файла как pdf в браузере- имя файла было Фамилия
Объясните пожалуйста как работает ключевое checked в данном примере, в 1-ом просто выйдет 0 в консоли из-за переполнения, во втором же программа...
Примеров сортировки по столбцам ListView с отображением треугольника в какую сторону идёт сортировка, я нашёл достаточноНо они все подразумевают...