JS-01-在HTML中嵌入JavaScript代碼的三種方式


JS-01-在HTML中嵌入JavaScript代碼的三種方式

1.JavaScript概述

Web的組成有HTML、CSS還有即將要學習的JavaScript(簡稱JS)。

CSS和JS主要是服務於HTML,前者讓HTML更加美觀,后者能夠讓HTML動起來。

如果把HTML比作一只光禿禿的鳥的話,那么CSS就是鳥的羽毛,JS就是讓鳥能夠飛起來的肌肉。

2.在HTML中嵌入JavaScript代碼的第一種方式

JS是一門事件驅動型的編程語言,依靠事件去驅動,然后執行對應的程序。

在JS中有很多事件,其中有一個事件就叫做:鼠標單擊,click。並且任何事件都會對應一個事件句柄,onclick。

注意:事件和事件句柄的區別是:事件句柄是在事件單詞前面加一個on,且事件句柄是以HTML標簽的屬性存在的。

第一種方式:以事件句柄的方式。

2.1通過事件句柄的方式嵌入JS代碼

下面編寫程序,實現一個按鈕,當點擊時,彈出一個對話框,顯示“Hello JS!”

在JS中有一個內置的對象叫做window,全部小寫,可以直接拿來使用。【window代表的是瀏覽器對象】

window對象有一個函數叫做alert,可以實現彈窗,用法是:window.alert("message");

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>在HTML中嵌入JavaScript的第一種方式</title>
</head>
<body>
    <input type="button" value="點擊" onclick="window.alert('Hello JS')">
    <-- JS中的字符串可以使用單引號,也可以使用雙引號 -->
    <-- <input type="button" value="點擊" onclick='window.alert("Hello JS")'> -->
</body>
</html>

思考:onclick="JS代碼",執行原理是什么?

  • 當頁面打開時,js代碼不會執行執行,只是把這段JS代碼注冊到按鈕的click事件上去了,當這個按鈕發生click事件后,注冊在onclick后面的JS代碼會被瀏覽器自動調用。

注意:JS中的一條語句結束之后可以使用分號“;”,也可以不使用。

<input type="button" value="點擊" onclick="window.alert('Hello JS');">
<input type="button" value="點擊" onclick="window.alert('Hello JS')">

2.2可以在一個事件句柄中寫多條JS語句

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>在HTML中嵌入JavaScript的第一種方式</title>
</head>
<body>
    <input type="button" value="點擊" onclick="window.alert('Hello JS')
                                                window.alert('Hello Web')
                                                window.alert('Hello World')">
	<!-- window可以省略不寫 -->
	<input type="button" value="點擊" onclick="alert('Hello JS')
	                                            alert('Hello Web')
	                                            alert('Hello World')">
</body>
</html>

3.在HTML中嵌入JavaScript代碼的第二種方式

3.1通過內部腳本塊的方式嵌入JS代碼

類似於CSS中的內部樣式表,JavaScript也可以在HTML代碼中編寫腳本代碼塊。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>嵌入JS的第二種方式</title>
	</head>
	<body>
		<input type="button" value="點擊打開" />
		<!-- 第二種方式:內部腳本塊的方式 -->
		<!-- 暴露在腳本塊中的JS程序,不需要觸發事件,打開頁面的同時執行JS代碼,且遵循自上而下的順序。-->
		<script type="text/javascript">
			window.alert("Hello World")
			window.alert("Hello JS")
		</script>
		<input type="button" value="打開" />
	</body>
</html>

3.2腳本塊可以出現多次且位置隨意

另外,javascript的腳本塊在一個頁面中可以出現多次,且出現位置也沒有要求。

<script type="text/javascript">
	window.alert("頂部腳本塊")
</script>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>嵌入JS的第二種方式</title>
		<script type="text/javascript">
			window.alert("頭部腳本塊")
		</script>
	</head>
	<body>
		<input type="button" value="點擊打開" />
		<!-- 第二種方式:內部腳本塊的方式 -->
		<!-- 不需要事件觸發,打開頁面的同時執行JS代碼,且遵循自上而下的順序。-->
		<script type="text/javascript">
			window.alert("Hello World")
			window.alert("Hello JS")
		</script>
		<input type="button" value="打開" />
	</body>
</html>
<script type="text/javascript">
		window.alert("腳部腳本塊")
</script>

3.3alert函數會阻塞整個HTML頁面的加載

alert函數會阻塞整個HTML頁面的加載,直到點擊確定。

3.4JavaScript的注釋書寫格式

JS的注釋書寫格式與java一樣。

<script type="text/javascript">
    //單行注釋
    /*
     多行注釋
    */
    window.alert("Hello World")
    window.alert("Hello JS")
</script>

而java有獨特的javadoc注釋。

這里的注釋信息會被javadoc.exe工具解析提取生成幫助文檔。

/**
 *
 * @return 返回值
 */
public static int dosome(){
    return 3;
}

4.在HTML中嵌入JavaScript代碼的第三種方式

類似於CSS的外部樣式表,我們也可以將JavaScript的代碼放到一個外部的后綴名為.js的文件中去。

這種方式也是推薦使用的。

4.1通過引入外部js文件的方式嵌入JS代碼

js文件:

alert("Hello JS")
alert("Hello World")

html文件:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>嵌入JS的第三種方式</title>
	</head>
	<body>
		<!-- 在需要的地方引入js腳本文件 -->
		<script type="text/javascript" src="js/1.js"></script>
	</body>
</html>

引入外部獨立的js文件時,js文件中的代碼會遵循自上而下的順序逐行執行:

4.2同一個js文件可以被引入多次。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>嵌入JS的第三種方式</title>
	</head>
	<body>
		<!-- 在需要的地方引入js文件 -->
		<script type="text/javascript" src="js/1.js"></script>
		<script type="text/javascript" src="js/1.js"></script>
	</body>
</html>

但實際開發中這種需求很少。

4.3引入js文件時,能否在script標簽內再編寫js代碼,會執行嗎?

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>嵌入JS的第三種方式</title>
	</head>
	<body>
		<!-- 在需要的地方引入js文件 -->
		<script type="text/javascript" src="js/1.js">
			alert("內部代碼塊")
		</script>
	</body>
</html>

由結果來看,不會執行。

4.4引入js文件后,能否再編寫另外的js腳本塊呢?

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>嵌入JS的第三種方式</title>
	</head>
	<body>
		<!-- 在需要的地方引入js文件 -->
		<script type="text/javascript" src="js/1.js"></script>
		<!-- <script type="text/javascript" src="js/1.js">
			alert("內部代碼塊")
		</script> -->
		<script type="text/javascript">
			alert("內部代碼塊2")
		</script>
	</body>
</html>

由結果來看,可以。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM