# 2.3.1 script標簽
### 2.3.1 script標簽
HTML文檔一般通過`<script></script>`標簽引入JavaScript代碼。例如:
```
<html>
<head>
<meta charset="utf-8" />
<title>你好</title>
</head>
<body>
<button id="btn1">點我</button>
<script>
var btn = document.getElementById('btn1');
btn.onclick = function() {
document.body.innerHTML = '<h1>你好,JavaScript!</h1>';
};
</script>
</body>
</html>
```
但我們一般把JavaScript代碼放在一個單獨的文件里,并從HTML文檔里引用它[1](#fn_1)。例如:
```
<html>
<head>
<meta charset="utf-8" />
<title>你好</title>
</head>
<body>
<button id="btn1">點我</button>
<script src=”hello.js”></script>
</body>
</html>
```
其中hello.js的內容是:
```
var btn = document.getElementById('btn1');
btn.onclick = function() {
document.body.innerHTML = '<h1>你好,JavaScript!</h1>';
};
```
讀者應試著運行一下以上兩個示例,看看是什么效果。
另外,`<script></script>`標簽還可以包含在`<head></head>`標簽里。讀者可以修改示例代碼,看看結果有什么不同,并研究一下原因[2](#fn_2)。
> 1. 在上文CSS的部分我們提到“樣式(代碼)與內容(代碼)相分離”的原則,在此我們遵循類似的規則,即“行為(代碼)與內容(代碼)相分離”。至此,內容(HTML),樣式(CSS)和行為(JavaScript)都已登場,它們相互“獨立”又關聯。讀者可在實踐中細細體會。[?](#reffn_1 "Jump back to footnote [1] in the text.")
> 2. 一般瀏覽器都有JavaScript調試器(debugger)。如果你遇到了問題,不妨打開調試器看看原因是什么。不同瀏覽器的調試器打開方式不同,請查找一下。[?](#reffn_2 "Jump back to footnote [2] in the text.")
- 前言
- 1 Web概述
- 1.1 什么是Web
- 1.2 超文本和超鏈接
- 1.3 URL
- 1.4 DNS
- 1.5 HTTP
- 1.5.1 客戶端請求
- 1.5.2 服務器應答
- 1.5.3 進一步了解HTTP
- 1.6 HTTPS
- 2 Web瀏覽器
- 2.1 HTML
- 2.1.1 文檔類型聲明
- 2.1.2 標簽和屬性
- 2.1.3 文檔結構
- 2.1.4 DOM
- 2.1.5 進一步了解HTML
- 2.2 CSS
- 2.2.1 樣式與樣式表
- 2.2.2 樣式表語法
- 2.2.3 級聯樣式表
- 2.2.4 進一步了解CSS
- 2.3 JavaScript
- 2.3.1 script標簽
- 2.3.2 操縱DOM
- 2.3.3 jQuery
- 2.3.4 進一步了解JavaScript
- 2.4 Ajax
- 2.5 移動設備與響應式Web設計
- 3 Web服務器
- 3.1 方法與資源
- 3.2 狀態代碼
- 3.3 靜態內容與動態內容
- 3.4 編程語言與技術
- 3.4.1 CGI
- 3.4.2 PHP
- 3.4.3 Java
- 3.4.4 Python
- 3.4.5 Ruby
- 3.4.6 Node.js
- 3.5 RESTful Web API
- 3.6 服務器架構
- 3.7 Web緩存
- 3.8 服務器推送
- 4 數據庫
- 4.1 關系型數據庫
- 4.2 NoSQL數據庫
- 5 Web服務器的其他組件
- 5.1 Cron
- 5.2 消息隊列
- 5.3 郵件服務器
- 6 開發工具與技術
- 6.1 Git
- 6.1.1 Git基礎操作
- 6.1.2 Git基本原理
- 6.1.3 進一步了解Git
- 6.2 敏捷開發