Javascript 变量返回为未定义的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

我试图在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 ( 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