注意細節(jié):
1徘钥、在標(biāo)簽中填寫 onclick 事件調(diào)用函數(shù)時,不是onclick=函數(shù)名仲义, 而是onclick=函數(shù)名+()产弹,代碼如下:
<script>
????function myfunction(){????? ? document.getElementById("demo").innerHTML="onclick事件觸發(fā)";????????}</script>????</head><body>????<h1 id="demo">一個段落</h1>????<button onclick="myfunction()" type="button">點擊這里</button></body>
2、外部 javascript 文件不使用<script>標(biāo)簽床估,直接寫 javascript 代碼含滴。
3、HTML 輸出流中使用 document.write丐巫,相當(dāng)于添加在原有html代碼中添加一串html代碼谈况。而如果在文檔加載后使用(如使用函數(shù)),會覆蓋整個文檔递胧。
使用函數(shù)來執(zhí)行document.write代碼如下:
<script>function myfunction(){????document.write("使用函數(shù)來執(zhí)行doucment.write碑韵,即在文檔加載后再執(zhí)行這個操作,會實現(xiàn)文檔覆蓋");}document.write("<h1>這是一個標(biāo)題</h1>");document.write("<p>這是一個段落缎脾。</p>");</script><p >您只能在 HTML 輸出流中使用 <strong>document.write</strong>祝闻。
如果您在文檔已加載后使用它(比如在函數(shù)中),會覆蓋整個文檔遗菠。</p><button type="button" onclick="myfunction()">點擊這里</button>
document.write是直接寫入到頁面的內(nèi)容流联喘,如果在寫之前沒有調(diào)用document.open, 瀏覽器會自動調(diào)用open。每次寫完關(guān)閉之后重新調(diào)用該函數(shù)辙纬,會導(dǎo)致頁面被重寫豁遭。
? innerHTML則是DOM頁面元素的一個屬性,代表該元素的html內(nèi)容贺拣。你可以精確到某一個具體的元素來進行更改蓖谢。如果想修改document的內(nèi)容,則需要修改document.documentElement.innerElement譬涡。?
? innerHTML很多情況下都優(yōu)于document.write闪幽,其原因在于其允許更精確的控制要刷新頁面的那一個部分。
DOM 解釋
您會經(jīng)澄性龋看到document.getElementById("id")沟使。
這個方法是 HTML DOM 中定義的。
DOM (Document Object Model)(文檔對象模型)是用于訪問 HTML 元素的正式 W3C 標(biāo)準(zhǔn)渊跋。
格式<script>
那些老舊的實例可能會在 <script> 標(biāo)簽中使用 type="text/javascript"腊嗡。
現(xiàn)在已經(jīng)不必這樣做了。
JavaScript 是所有現(xiàn)代瀏覽器以及 HTML5 中的默認腳本語言拾酝。
腳本位置
在 <head> 或者 <body> 的JavaScript
外部腳本不能包含 <script> 標(biāo)簽燕少。
輸出數(shù)據(jù)
window.alert() 彈出警告框。
document.write() 方法將內(nèi)容寫到 HTML 文檔中蒿囤。
innerHTML 寫入到 HTML 元素客们。
console.log() 寫入到瀏覽器的控制臺。
輸出內(nèi)容
使用 document.write() 向文檔輸出寫內(nèi)容材诽。
如果在文檔已完成加載后執(zhí)行 document.write底挫,整個 HTML 頁面將被覆蓋
寫到控制臺(調(diào)試模式)
使用 console.log() 方法在瀏覽器中顯示 JavaScript 值。
F12 啟用調(diào)試模式脸侥, 在調(diào)試窗口中點擊 "Console" 菜單建邓。
document.getElementByle() 和 document.write() 的區(qū)別
document.write() 方法可以用在兩個方面:
1、 頁面載入過程中用實時腳本創(chuàng)建頁面內(nèi)容睁枕,用來追加一些標(biāo)簽官边。
2、清除當(dāng)前頁面內(nèi)容(包括源文檔的任何變量或值)外遇。重新生成內(nèi)容注簿。
它的第 2 點和 document.getElementByle() 相區(qū)別。前者在清除全部頁面內(nèi)容跳仿,然后生成新的內(nèi)容诡渴,即“覆蓋文檔"。
<script>function myFunction(){?
? ? document.write("糟糕菲语,文檔丟失了")}</script><button type="bulbon" onclick="myFunction()">覆蓋文檔</button>
點擊按鈕妄辩,括號里的內(nèi)容則會全部覆蓋文檔。
后者:
<script>document.getElementById("three").innerHTML="段落已修改谨究。";</script>
這個僅僅只是替換了 id 為 three 里的內(nèi)容恩袱,沒有覆蓋頁面。
JavaScript是弱類型編程語言,定義變量都使用 var 定義,與 Java 這種強類型語言有區(qū)別.
在定義后可以通過typeOf()來獲取JavaScript中變量的數(shù)據(jù)類型.
// Number 通過數(shù)字字面量賦值?
?// Number 通過表達式字面量賦值
// String 通過字符串字面量賦值
// Array? 通過數(shù)組字面量賦值?
// Object 通過對象字面量賦值
有個情況需要特別注意:typeof 不能用來判斷是 Array 還是Object
var arr = []typeof(arr) === 'object'? // true
結(jié)果為true胶哲。
當(dāng)然你可以使用其他方式來判斷:
1畔塔、使用 isArray 方法
var cars=new Array();cars[0]="Saab";cars[1]="Volvo";cars[2]="BMW";// 判斷是否支持該方法if (Array.isArray) {? ? if(Array.isArray(cars)) {? ? ? ? document.write("該對象是一個數(shù)組。") ;? ? }}
2鸯屿、使用 instanceof 操作符
var cars=new Array();cars[0]="Saab";cars[1]="Volvo";cars[2]="BMW";if (cars instanceof Array) {? ? document.write("該對象是一個數(shù)組澈吨。") ;}
介紹JS中的let變量:
let var1 [= value1] [, var2 [= value2]] [, ..., varN [= valueN]];
let允許你聲明一個作用域被限制在塊級中的變量、語句或者表達式寄摆。在Function中局部變量推薦使用let變量谅辣,避免變量名沖突。
更多實例
https://c.runoob.com/codedemo/3015
https://c.runoob.com/codedemo/4026
https://c.runoob.com/codedemo/4721
https://c.runoob.com/codedemo/3654
https://c.runoob.com/codedemo/4786
https://c.runoob.com/codedemo/3124
https://c.runoob.com/codedemo/3880