Javascript 变量返回为未定义的jQuery
我试图在jQuery中调用一个函数,而该变量在控制台中返回为未定义Javascript 变量返回为未定义的jQuery,javascript,jquery,Javascript,Jquery,我试图在jQuery中调用一个函数,而该变量在控制台中返回为未定义 var divide = function(entry) { var entry = number for (var i = 1; i <= entry; i++) { if (i % 5 === 0 && i % 3 === 0) { return "pingpong"; } else if
var divide = function(entry) {
var entry = number
for (var i = 1; i <= entry; i++) {
if (i % 5 === 0 && i % 3 === 0) {
return "pingpong";
} else if ( i % 3 === 0) {
return "ping";
} else if (i % 5 === 0 ) {
return "pong";
} else {
return i;
}
}
}
$(document).ready(function(){
$("form#number").submit(function(event){
var number = parseInt($("#userNumber").val());
var pingpong = divide (number);
$("#result").text(pingpong);
event.preventDefault();
});
});
var divide=函数(条目){
var条目=编号
对于(var i=1;i为什么您需要一个for循环
?将编号分配给条目
不会有帮助,因为编号
在$(文档)的本地范围内.ready
对于divide
,它将是未定义的。当您将条目
作为参数传递时,请将其用于条件
试试这个:
var divide=函数(i){
如果(i%5==0&&i%3==0){
回归“乒乓球”;
}else if(i%3==0){
返回“ping”;
}else if(i%5==0){
返回“pong”;
}否则{
返回i;
}
}
$(文档).ready(函数(){
$(“表格编号”)。提交(功能(事件){
var number=parseInt($(“#userNumber”).val();
var乒乓球=除法(数字);
$(“#结果”).text(乒乓球);
event.preventDefault();
});
});
为什么您需要一个循环
呢?将编号分配给条目
没有帮助,因为编号
在$(文档)的本地范围内。ready
对于除法
将是未定义的。当您将条目
作为参数传递时,将其用于条件
试试这个:
var divide=函数(i){
如果(i%5==0&&i%3==0){
回归“乒乓球”;
}else if(i%3==0){
返回“ping”;
}else if(i%5==0){
返回“pong”;
}否则{
返回i;
}
}
$(文档).ready(函数(){
$(“表格编号”)。提交(功能(事件){
var number=parseInt($(“#userNumber”).val();
var乒乓球=除法(数字);
$(“#结果”).text(乒乓球);
event.preventDefault();
});
});
我想您可能对参数如何传递到函数中感到困惑。
你有:
function divide ( entry ) { // defining divide
var entry = number; // this line is counter-productive
...
}
....
var number;
... divide(number); // calling divide
调用divide()
函数时,变量number
的值会自动复制到divide()
中的变量entry
。然后尝试对var entry=number;
执行相同的操作,但divide()中的number
不可用
所以这失败了。让我们假设number
是全局可用的。这一行不会导致错误。在这种情况下,它可能会执行您想要的操作,但其参数立即被忽略和覆盖的函数不是很有用。假设您想用两个不同的值调用它:
divide(number);
...
divide(someothernumber);
这不起作用,因为var entry=number;
行--您永远无法成功地将someothernumber
传递到divide()
中。删除该行:
var entry = number;
从divide()
开始,你会更快乐
您试图删除“var entry=number”我想您可能对参数如何传递到函数中感到困惑。
你有:
function divide ( entry ) { // defining divide
var entry = number; // this line is counter-productive
...
}
....
var number;
... divide(number); // calling divide
调用divide()
函数时,变量number
的值会自动复制到divide()
中的变量entry
。然后尝试对var entry=number;
执行相同的操作,但divide()中的number
不可用
所以这失败了。让我们假设number
是全局可用的。这一行不会导致错误。在这种情况下,它可能会执行您想要的操作,但其参数立即被忽略和覆盖的函数不是很有用。假设您想用两个不同的值调用它:
divide(number);
...
divide(someothernumber);
这不起作用,因为var entry=number;
行--您永远无法成功地将someothernumber
传递到divide()
中。删除该行:
var entry = number;
从divide()
开始,你会更快乐
您尝试删除“var entry=number”代码中没有控制台输出,代码中有许多变量…这是一个猜测游戏吗?快速猜测…数字
…它的范围在文档就绪
中-因此将在除法
中未定义您的赋值是错误的。您将条目
,这是一个函数参数,分配给一个未定义的变量number
。代码中没有控制台输出,代码中有许多变量…这是一个猜测游戏吗?一个快速猜测…number
…它的范围在文档就绪
中-因此将在分割
中未定义您的赋值错误。您正在赋值条目
,它是一个函数参数,指向未定义的变量number
。