亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么我覺得這個代碼好像有點詭異

一般不都是先定義然后使用嘛?為什么這個實例中是先使用,然后再定義這個函數?

我覺得這個?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下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號