【发布时间】:2018-06-27 03:58:13
【问题描述】:
我有一个将变量设置为数组中的单词的函数:
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);
这可行,但如果我将相同的“if”条件添加到第二个函数,它有时会停止工作:
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/
【问题讨论】:
-
你能在你的函数
PlacesToVisit2Selector而不是外面添加$('.PlacesToVisit2').html(PlacesToVisit2);吗? -
我可以猜到,但我认为这并没有触及问题的核心。我很困惑为什么“if”条件会破坏代码……有时。我应该忽略那部分,因为这与函数无关(只是用生成的变量替换空格。)
标签: jquery function if-statement