基本JavaScript函数问题

基本JavaScript函数问题,javascript,function,Javascript,Function,好的,我尝试调用calculate_drug函数中的convert函数,但是最后的“sotp”“start”警报一直显示为未定义。我假设这是因为它认为convert没有定义。这是我试图转换为JS的python代码,显然我对JS不是很熟悉 我做错了什么 <!DOCTYPE html> <html> <head> </head> <body> <p>Click the button</p> <button on

好的,我尝试调用calculate_drug函数中的convert函数,但是最后的“sotp”“start”警报一直显示为未定义。我假设这是因为它认为convert没有定义。这是我试图转换为JS的python代码,显然我对JS不是很熟悉

我做错了什么

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>Click the button</p>
<button onclick="calculate_drug()">Drug</button>


<script>

function convert(time)
{
minutes = time.substr(-2)
hours = Math.floor(time/100)
con_time = (hours * 60) + parseInt(minutes)
}

function calculate_drug(start, stop)
{
start = prompt("Enter Start Time")
stop = prompt("Enter Stop Time")
start = convert(start)
alert(start)
stop = convert(stop)
alert(stop)
}

</script>
</body>
</html>

点击按钮

毒品 函数转换(时间) { 分钟=time.substr(-2) 小时=数学楼层(时间/100) con_time=(小时*60)+parseInt(分钟) } 功能计算(启动、停止) { 开始=提示(“输入开始时间”) 停止=提示(“输入停止时间”) 开始=转换(开始) 警报(启动) 停止=转换(停止) 警报(停止) }
您错过了
返回
,因此结果总是
未定义


请注意,不带
var
声明的变量将被视为全局变量,强烈建议不要这样做。

您需要从convert函数返回一些内容

function convert(time)
{
    minutes = time.substr(-2)
    hours = Math.floor(time/100)
    con_time = (hours * 60) + parseInt(minutes)
    return con_time;
}

我不是js专家,但我的java脚本几乎都是这样的:

<script>
$(document).ready(function () {
    console.log("js kicked");
    $("#req").addClass("active open");
    $("#req-history").addClass("active");
});

$(文档).ready(函数(){
console.log(“js”);
$(“#请求”).addClass(“主动打开”);
$(“#请求历史”).addClass(“活动”);
});

您忘记返回值了

function convert(time)
{
    minutes = time.substr(-2)
    hours = Math.floor(time/100)
    con_time = (hours * 60) + parseInt(minutes)

    return con_time;
}
试试这个:

 function convert(time)
        {
            var minutes = time.substr(-2);
            var hours = Math.floor(minutes/100);
            var con_time = (hours * 60) + parseInt(minutes);

            return con_time;
        }

        function calculate_drug()
        {

            var startTime = prompt("Enter Start Time");

             var stopTime = prompt("Enter Stop Time");
            startTime = convert(startTime);
             alert(startTime);
            stopTime = convert(stopTime);
             alert(stopTime);
        }

您需要使用
var
@Geo声明变量,但不需要;通过
提示符
可以快速读入一些参数。这很奇怪,但它就在那里。@DaveNewton True。在回答之前,我没有阅读全部内容。我发布了一个问题的答案,这个问题实际上是可行的:)先生,这是jQuery,他使用的是纯javascript。