为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

我觉得这个 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>


正在回答

3 回答

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

1 回复 有任何疑惑可以回复我~
#1

慕码人9569303

你可以百度一下js的函数定义和调用顺序问题
2020-04-07 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

慕田峪6222686

应该是没差的
2020-03-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信