У меня есть функция, которая устанавливает переменную в слово из массива:
function PlacesToVisitSelector(var1) {
if ( (var1 == 'TEST')){
var PlacesToVisit =['kilopascal','psi','Torr'];
var PlacesToVisitRandom= PlacesToVisit[Math.floor(Math.random() * PlacesToVisit.length)];
return PlacesToVisitRandom;
}
}
var PlacesToVisit = PlacesToVisitSelector("TEST");
$('.PlacesToVisit').html(PlacesToVisit);
И еще одна функция, которая устанавливает вторую переменную для слова из того же массива, который отличается от исходного слова:
function PlacesToVisit2Selector(var1) {
var PlacesToVisit2 =['kilopascal','psi','Torr'];
var PlacesToVisit2Random= PlacesToVisit2[Math.floor(Math.random() * PlacesToVisit2.length)];
return (PlacesToVisit2Random !== PlacesToVisit) ? PlacesToVisit2Random: PlacesToVisit2Selector();
}
var PlacesToVisit2 = PlacesToVisit2Selector("TEST");
$('.PlacesToVisit2').html(PlacesToVisit2);
Это работает, но если я добавлю то же условие "если" во вторую функцию, оно иногда перестает работать:
function PlacesToVisit2Selector(var1) {
if ( (var1 == 'TEST')){
var PlacesToVisit2 =['kilopascal','psi','Torr'];
var PlacesToVisit2Random= PlacesToVisit2[Math.floor(Math.random() * PlacesToVisit2.length)];
return (PlacesToVisit2Random !== PlacesToVisit) ? PlacesToVisit2Random: PlacesToVisit2Selector();
}
}
var PlacesToVisit2 = PlacesToVisit2Selector("TEST");
$('.PlacesToVisit2').html(PlacesToVisit2);
Я в замешательстве, так как я использовал эти функции десятки раз и никогда не испытывал никаких проблем. Чего мне не хватает?!
JSFiddle, показывающий, что функции время от времени работают только с условием if во второй функции: http://jsfiddle.net/1z7fqL0a/