重寫後的標題:如何以最佳方式輸出JavaScript?
P粉969253139
2023-08-14 11:27:09
<p>我正在學習JavaScript,我看到推薦的輸出程式碼的方法是使用document.getElementById...,而Document.write只應在測試中使用...</p>
<p>這是輸出任何腳本的最佳方法嗎?這段程式碼具體是做什麼的?我寫了以下程式碼,不確定"demo"是如何運作的,以及為什麼它是必要的...</p>
<pre class="brush:php;toolbar:false;"><html>
<head>
<script>
function addNumbers(arr){
var i, answer =0;
for(i=0; i<arr.length; i ){
answer = arr[i];
}
return answer;
}
</script>
</head>
<body>
<h4> 函數 addNumbers: </h4>
<p id="demo"></p>
<script>
var myArray = [1,2,3,4,5,6,7,8,9];
document.getElementById("demo").innerHTML = addNumbers(myArray);
</script>
</body>
</html></pre>
<p><br /></p>
Demo指的是具有id「demo」的段落。您可以使用id(在整個HTML頁面中必須是唯一的)來識別和使用javascript中的html標籤。
document.write確實不再經常使用。有多個原因。由於網路上有很好的解釋,請查看這些答案或這篇文章。
如果您加入一些缺少的標籤,例如
</head>
,<body>
和<script>
,您的程式碼將正常工作,並且控制台日誌正在發生。在下面的程式碼片段中運行。作為附註,現在的最佳實踐是在關閉
</body>
標籤之前,在頁面底部進行javascript處理和載入。因為任何載入都發生在DOM載入之後。退一步,向前邁兩步:
document.write
是三個函數之一document.open()
開啟一個文件以從頭開始寫入,如果有任何內容,則刪除現有文件內容。document.write( string)
將字串插入用於建立網頁的字元流中。document.close()
關閉一個文件以進行寫入。進一步的寫入將重新開啟文件並在此過程中清除現有內容。現在考慮以下事項
document.open/write/close
在DOM標準化和可用之前就已經存在。因此,
document.write
在現代Web程式設計中幾乎沒有用處。如果在頁面載入完成後使用,它會清除頁面內容。它幾乎完全限於學生教程,這些學生尚未學習到DOM的存在,以及在使用window.open
打開的子視窗中以程式設計方式編寫內容時偶爾使用。頁面中的所有HTML元素在DOM中都以HTMLelement節點存在。可以透過呼叫諸如
document.getElementById
或document.querySelector
之類的方法來存取這些元素,並作為JavaScript物件值傳回。 HTMLElement根據標籤類型而異,但如果它們表示HTML容器元素,則具有諸如innerHTML
和textContent
之類的屬性,當使用腳本中的文字字串進行更新時,會變更呈現頁面的內容。回答你的問題,「demo」是HTMLParagraphElement的id值,其中id值用於存取DOM中的特定元素-
id
值在頁面HTMLElements中應該是唯一的。透過使用
document.getElementById
查詢DOM可以取得(段落)元素物件。隨後更改元素的innerHTML
內容會導致文件重新呈現新內容,更新頁面的顯示。