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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

可變提升,

可變提升,

瀟瀟雨雨 2019-07-12 10:32:01
可變提升,alert(myVar1);return false;var myVar1;以上代碼在IE、FF和Opera中拋出錯誤,聲明返回語句必須在函數中出現。但它起作用了undefined)在Safari和Chrome。以上代碼是在全局范圍內編寫的。在所有功能之外。有什么原因嗎?
查看完整描述

3 回答

?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

ECMA-262版第3版第12.9節(第75頁)規定:

如果ECMAScript程序包含return語句,該語句不在功能體.

就是,return函數的外部是語法錯誤..如果語法錯誤發生時,不運行任何代碼。想一想你的例子,就好像你已經寫了:

alert(myVar1);return false;syntax error))))))))))))))))));

此外,第16節(第157頁)規定:

實現可以將下列類型的運行時錯誤的任何實例視為語法錯誤,因此可以提前報告:

  • 不正確地使用返回、中斷和繼續。

火狐的引擎ET。艾爾。(即那些允許return在全球范圍內)可以,可能符合,假設以下子句(在同一節中)允許實現return在全球范圍內:

執行應按規定報告所有錯誤,但下列情況除外:

  • 實現可以提供超出本規范描述的其他類型、值、對象、屬性和函數。這可能導致構造(例如在全局范圍中查找變量)具有實現定義的行為,而不是拋出錯誤(如

    參考錯誤).


查看完整回答
反對 回復 2019-07-12
  • 3 回答
  • 0 關注
  • 331 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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