avaScript最初的產(chǎn)生是應(yīng)用在網(wǎng)頁中的,那么就不可避免地要涉及到HTML。HTML是web的核心語言,因此如何解決JavaScript和HTML的頁面共存同時(shí)又不影響頁面的顯示效果是一個(gè)很重要的問題,經(jīng)過長(zhǎng)期的探索和嘗試,最后決定為Web增加統(tǒng)一的腳本支持。
向HTML頁面中插入JavaScript的主要方法,就是使用<script>元素,這個(gè)元素后來被加入到正式的HTML規(guī)范中。
HTML為<script>定義了下列6個(gè)屬性:
使用<script>元素的方式有兩種:
在使用<script>元素嵌入JavaScript代碼時(shí),只須為<script>指定type屬性。然后如下把JavaScript代碼直接放在元素內(nèi)部即可:
<script type="text/javascript">
function sayHi(){
alert("Hi!");
}
</script>
包含在<script>元素內(nèi)部的JavaScript代碼將被從上至下依次解釋。
在上面的例子中,解釋器會(huì)解釋一個(gè)函數(shù)的定義,然后將該定義保存在自己的環(huán)境當(dāng)中。在解釋器對(duì)<script>元素內(nèi)部的所有代碼求值完畢以前,頁面中的其余內(nèi)容都不會(huì)被瀏覽器加載或顯示。
在使用<script>嵌入JavaScript代碼時(shí),記住不要在代碼中的任何地方出現(xiàn)"</script>"字符串。否則瀏覽器在加載代碼時(shí)會(huì)產(chǎn)生一個(gè)錯(cuò)誤:
<script type="text/javascript">
function sayScript(){
alert("</script>");
}
</script>
因?yàn)榘凑战馕銮度胧酱a的規(guī)則,當(dāng)瀏覽器遇到字符串"</script>"時(shí),就會(huì)認(rèn)為那是結(jié)束的
</script>標(biāo)簽,但是可以通過轉(zhuǎn)義字符“/”可以解決這個(gè)問題:
<script type="text/javascript">
function sayScript(){
alert("\</script>");
}
</script>
如果要通過<script>元素來包含外部JavaScript文件,那么src屬性就是必需的。這個(gè)屬性的值是一個(gè)指向外部JavaScript文件的鏈接,例如
<script type="text/javascript" src="example.js"></script>
外部文件 example.js 將被加載到當(dāng)前頁面中。外部文件只須包含通常要放在開始的<script>和結(jié)束的</script>之間的那些JavaScript代碼即可。與解析嵌入式JavaScript代碼一樣,在解析外部JavaScript文件(包括下載該文件)時(shí),頁面的處理也會(huì)暫時(shí)停止。如果是在XHTML文檔中,也可以省略前面示例代碼中結(jié)束的</script>標(biāo)簽,例如
<script type="text/javascript" src="example.js" />
但是,不能在 HTML 文檔使用這種語法。因?yàn)檫@種語法不符合HTML規(guī)范,而且也得不到某些瀏覽器(尤其是 IE)的正確解析。
外部JavaScript文件帶有.js擴(kuò)展名,但不是必需的,因?yàn)闉g覽器不會(huì)檢查包含 JavaScript的文件的擴(kuò)展名。
需要注意的是,帶有 src 屬性的<script>元素不應(yīng)該在其<script>和</script>標(biāo)簽之間再 包含額外的 JavaScript 代碼。如果包含了嵌入的代碼,則只會(huì)下載并執(zhí)行外部腳本文件,嵌入的代碼 會(huì)被忽略。
另外,通過<script>元素的 src 屬性還可以包含來自外部域的 JavaScript 文件。這一點(diǎn)既讓 <script>元素倍顯強(qiáng)大,又讓它備受爭(zhēng)議。在這一點(diǎn)上,<script>與<img>元素非常相似,即它的 src 屬性可以是指向當(dāng)前 HTML 頁面所在域之外的某個(gè)域中的完整 URL,例如:
<script type="text/javascript" src="http://www.somewhere.com/afile.js"></script>
位于外部域中的代碼也會(huì)被加載和解析,就像這些代碼位于加載它們的頁面中一樣。利用這一點(diǎn)就可以在必要時(shí)通過不同的域來提供 JavaScript 文件。不過,在訪問自己不能控制的服務(wù)器上的 JavaScript 文件時(shí)則要多加小心。
無論如何包含代碼,只要不存在defer和 async屬性,瀏覽器都會(huì)按照<script>元素在頁面中出現(xiàn)的先后順序?qū)λ鼈円来芜M(jìn)行解析。換句話說,在第一個(gè)<script>元素包含的代碼解析完成后,第二個(gè)<script>包含的代碼才會(huì)被解析,然后才是第三個(gè)、第四個(gè)......
果想開發(fā)一個(gè)網(wǎng)站,除了要精通后端開發(fā)語言(如:php)外,還要精通HTML代碼。那么,什么是HTML呢?HTML是一種超文本標(biāo)記語言,它包含有眾多的標(biāo)簽,我們可以通過這些標(biāo)簽,把不同的internet資源(如:文字、圖片、視頻、音頻、表單等等)整合在一個(gè)統(tǒng)一的文檔中,這就形成了我們可以看得見的網(wǎng)頁。那么,HTML都有哪些常用的標(biāo)簽?zāi)兀?/p>
html5文檔類型聲明:<!doctype html>
html4文檔類型聲明:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
這個(gè)標(biāo)簽是html最外層的標(biāo)簽,所有其它的HTML標(biāo)簽都要放在這個(gè)標(biāo)簽的內(nèi)部。
<html>
<head></head>
<body></body>
</html>
在HTML標(biāo)簽中,有的標(biāo)簽是成雙成對(duì)的,如:<html></html>(如下圖);而有的標(biāo)簽是單個(gè)的,如:<hr>橫線標(biāo)簽。
head頭部有以下幾種常用標(biāo)簽:
meta:主要提供有關(guān)頁面的元信息。
link:用來定義文檔與外部資源的關(guān)系,最常用的是調(diào)用CSS樣式文件。
title:頁面標(biāo)題的標(biāo)簽。
script:用來調(diào)用JS文件或JS代碼。當(dāng)然,script標(biāo)簽也可以在body主體中使用。
1、塊級(jí)標(biāo)簽。
塊級(jí)標(biāo)簽的特性是:獨(dú)自占有一行;標(biāo)簽的高與寬、邊距可以修改;沒有設(shè)置寬與高時(shí),默認(rèn)繼承父標(biāo)簽。例如:
<div>div1</div>
<div>div2</div>
<style>
.aa1{ border:1px solid #000; width:150px; height:100px; margin:30px; }
.aa2{ border:1px solid #000; width:150px; height:100px; margin:30px; }
</style>
前端頁面顯示的效果如下圖:
常用的塊級(jí)標(biāo)簽有:div、h1、h2、h3、h4、h5、h6、hr、menu、ul、ol、li、dl、dt、dd、table、p、form 。
2、內(nèi)聯(lián)標(biāo)簽。
內(nèi)聯(lián)標(biāo)簽與塊級(jí)標(biāo)簽不同,它不能獨(dú)自占有一行,會(huì)與其它內(nèi)聯(lián)標(biāo)簽在同一樣展示;內(nèi)聯(lián)標(biāo)簽的高與寬、上下邊距是不能修改的,它里面的文字或圖片有多高,它就是多高。例如如下代碼:
<style>
.aa1{ border:1px solid #000; width:150px; height:100px; margin:30px; }
.aa2{ border:1px solid #000; width:150px; height:100px; margin:30px; }
</style>
<span>span1</span>
<span>span2</span>
CSS樣式代碼跟塊級(jí)標(biāo)簽的例子是一樣的,而顯示的效果就不一樣了,寬與高、上下邊距沒有效果。如下圖:
常用的內(nèi)聯(lián)標(biāo)簽有:span、a、b、strong、i、em 。
3、內(nèi)聯(lián)塊級(jí)標(biāo)簽。
內(nèi)聯(lián)塊級(jí)標(biāo)簽,既有一些內(nèi)聯(lián)標(biāo)簽的特性,也有一些塊級(jí)標(biāo)簽的特點(diǎn):它不能獨(dú)自占有一行,但是可以修改它的寬度和高度。例如下面這段代碼:
<style>
.aa1{ border:1px solid #000; width:150px; height:100px; margin:30px; }
.aa2{ border:1px solid #000; width:150px; height:100px; margin:30px; }
</style>
<img src="w5.jpg" alt="">
<img src="w5.jpg" alt="">
CSS樣式代碼跟塊級(jí)標(biāo)簽的那個(gè)例子仍然是一樣的,圖片的寬和高、上下邊距修改成功,而2個(gè)圖片不能獨(dú)自占有一行,而是在同一行。如下圖:
常用的內(nèi)聯(lián)塊級(jí)標(biāo)簽有:img、input、textarea。
4、區(qū)域標(biāo)簽。
所謂區(qū)域標(biāo)簽,就是主要用來劃分布局頁面區(qū)域的。如:頭部、主體內(nèi)容、側(cè)邊欄、底部。這樣劃分的好處是:讓頁面布局更加清晰明了。
常用的區(qū)域標(biāo)簽有:header(頭部)、footer(底部)、nav(導(dǎo)航)、aside(側(cè)邊欄)、section(主體)、article(獨(dú)立內(nèi)容)。
5、表單標(biāo)簽。
這個(gè)表單標(biāo)簽我們也是會(huì)經(jīng)常用到的,如:登錄網(wǎng)站的時(shí)候、提交數(shù)據(jù)的時(shí)候。如下圖的評(píng)論表單:
?表單常用的標(biāo)簽有:form、input、select、option、textarea 。
以上就是我們開發(fā)網(wǎng)頁時(shí),會(huì)常用到的HTML標(biāo)簽。當(dāng)然,HTML標(biāo)簽遠(yuǎn)不止這些,尤其是html5出來后,新增了許多的新標(biāo)簽。但是,有些標(biāo)簽在我們開發(fā)中很少用到,所以,這里就沒有做相應(yīng)的介紹。
avaScript 程序不能獨(dú)立運(yùn)行,它需要被嵌入 HTML 中,然后瀏覽器才能執(zhí)行 JavaScript 代碼。通過 <script> 標(biāo)簽將 JavaScript 代碼引入到 HTML 中,有兩種方式:
1.內(nèi)部方式
內(nèi)部方式是通過<script>標(biāo)簽包裹JavaScript代碼,從而引入HTML頁面中,示例代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript 基礎(chǔ) - 引入方式</title>
</head>
<body>
<!-- 內(nèi)聯(lián)形式:通過 script 標(biāo)簽包裹 JavaScript 代碼 -->
<script>
alert('嗨,歡迎來傳智播學(xué)習(xí)前端技術(shù)!')
</script>
</body>
</html>
2.外部形式
一般將 JavaScript 代碼寫在獨(dú)立的以 .js 結(jié)尾的文件中,然后通過 <script>標(biāo)簽的 <src>屬性引入,示例代碼如下:
// demo.js
document.write('嗨,歡迎來傳智播學(xué)習(xí)前端技術(shù)!')
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript 基礎(chǔ) - 引入方式</title>
</head>
<body>
<!-- 外部形式:通過 script 的 src 屬性引入獨(dú)立的 .js 文件 -->
<script src="demo.js"></script>
</body>
</html>
注意:如果 script 標(biāo)簽使用 src 屬性引入了某 .js 文件,那么 標(biāo)簽的代碼會(huì)被忽略!!!如下代碼所示:
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。