问答详情
源自:6-10 卸载事件(onunload)

为什么我觉得这个代码好像有点诡异

一般不都是先定义然后使用嘛?为什么这个实例中是先使用,然后再定义这个函数?

我觉得这个 window.onunload = onunload_message();    这句 和后面的 函数定义应该颠倒下顺序。

但是实际这样跑起来又能正常运行,搞不懂。

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title> 卸载事件 </title>

<script type="text/javascript">   

     window.onunload = onunload_message();   

     function onunload_message(){   

        alert("您确定离开该网页吗?");   

    }   

</script>   

</head>

<body>

  欢迎学习JavaScript。

</body>

</html>


提问者:ZKKL 2020-03-12 09:38

个回答

  • 慕码人9569303
    2020-04-07 16:07:42
    已采纳

    这是定义函数的三种方式中的声明函数式,这种方式的函数声明可以在任何地方,不管是不是先于调用,都是可以正确执行的,望采纳

  • 清风渡江
    2020-04-01 15:13:22

    这里的window是一个对象,表示浏览器中打开的窗口,每一个打开的窗口都会有一个window对象window.onunload=函数,这就表示浏览器字卸载事件(刷新、关闭)的时候会只想某个函数

  • ZKKL
    2020-03-12 09:43:06

    换了下顺序和不换结果一样,有点迷迷糊糊的感觉。http://img.mukewang.com/5e6993a7000152b606520287.jpg