簡體   English   中英

如果 JavaScript 中的 function 有多個 function 定義,為什么最后一個實現會優先?

[英]Incase of mutiple function definitions of a function in JavaScript, why the last implementation gets the preference?

在我對 Javascript 函數 實驗中,我聲明並定義了 'myFunction()' 4 次,並將此 function 添加到按鈕的單擊事件中。 在我的觀察中,我發現“myFunction()”的第四個實現總是被調用。

Javascript 引擎如何在內部解釋和處理這段代碼?

我們可以覆蓋這個默認行為嗎? 如果是,如何?

FYR 代碼

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript in Body</h2>

<p id="demo">A Paragraph.</p>

<button type="button" onclick="myFunction()">Try it</button>

<script>
function myFunction() {
  document.getElementById("demo").innerHTML = "FIRST: Paragraph changed.";
}
function myFunction() {
  document.getElementById("demo").innerHTML = "SECOND: Paragraph changed.";
}
function myFunction() {
  document.getElementById("demo").innerHTML = "THIRD: Paragraph changed.";
}
function myFunction() {
  document.getElementById("demo").innerHTML = "FOURTH: Paragraph changed.";
}
</script>

</body>
</html> 

Output

輸出:

沒有確切的答案,但這是有道理的。 代碼是按順序加載的,並且 function 的每個聲明都會覆蓋前一個,就像多次分配的變量將覆蓋自己一樣,最后一個分配是占主導地位的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM