首页 > 解决方案 > 在定义之前执行的 Javascript 函数

问题描述

我正在学习 Javascript 并有一些 Python 经验。下面的内容让我非常困惑。如何在定义之前调用函数?

我的假设是 check_user_age() 将不起作用,因为直到脚本进一步向下才定义它。

这是如何运作的?

'''
<!doctype html>
<html>

<body onload="check_user_age()" style="position:absolute">
    <h1>Spiritueux Wines and Liquors</h1>
    <script>
        function check_user_age() {
            if (age_of_user() < 18)
                alert("You are too young to buy alcohol.");
        }

        function age_of_user() {
            var age = prompt("What is your age?");
            return age;
        }
    </script>
</body>

</html>
'''

标签: javascriptdeclaration

解决方案


@CertainPerformane 已经回答了这个问题,但这里还有一个问题。<提示的输出是一个字符串。虽然像&这样的比较运算符>会将值强制转换为原始值,但最好用于parseInt转换为数字然后比较

function check_user_age() {
  if (age_of_user() < 18)
    alert("You are too young to buy alcohol.");
}

function age_of_user() {
  var age = prompt("What is your age?");
  return parseInt(age, 10);
}
<body onload="check_user_age()" style="position:absolute">
  <h1>Spiritueux Wines and Liquors</h1>
</body>


推荐阅读