javascript作為一種腳本語(yǔ)言可以放在html頁(yè)面中任何位置伶跷,但是瀏覽器解釋html時(shí)是按先后順序的,所以前面的script就先被執(zhí)行侣诺。比如進(jìn)行頁(yè)面顯示初始化的js必須放在head里面裆泳,因?yàn)槌跏蓟家筇崆斑M(jìn)行(如給頁(yè)面body設(shè)置css等);而如果是通過(guò)事件調(diào)用執(zhí)行的function那么對(duì)位置沒(méi)什么要求的糜芳。
雖然分號(hào) “ ; ” 也可以不寫,但我們要養(yǎng)成編程的好習(xí)慣魄衅,記得在語(yǔ)句末尾寫上分號(hào)峭竣。
定義變量使用關(guān)鍵字var,語(yǔ)法如下:
var 變量名
注意:
- 在JS中區(qū)分大小寫,如變量mychar與myChar是不一樣的晃虫,表示是兩個(gè)變量皆撩。
- 變量雖然也可以不聲明,直接使用哲银,但不規(guī)范扛吞,需要先聲明,后使用荆责。
如何定義一個(gè)函數(shù)呢滥比?基本語(yǔ)法如下:
function 函數(shù)名()
{
函數(shù)代碼;
}
document.write() 可用于直接向 HTML 輸出流寫內(nèi)容。簡(jiǎn)單的說(shuō)就是直接在網(wǎng)頁(yè)中輸出內(nèi)容做院。
JS中如何輸出空格
無(wú)論在輸出的內(nèi)容中什么位置有多少個(gè)空格盲泛,顯示的結(jié)果好像只有一個(gè)空格濒持。這是因?yàn)闉g覽器顯示機(jī)制,對(duì)手動(dòng)敲入的空格寺滚,將連續(xù)多個(gè)空格顯示成1個(gè)空格柑营。
解決方法:
- 使用輸出html標(biāo)簽 來(lái)解決
document.write(" "+"1"+" "+"23");
結(jié)果: 1 23 - 使用CSS樣式來(lái)解決
document.write("<span style='white-space:pre;'>"+" 1 2 3 "+"</span>");
結(jié)果: 1 2 3
在輸出時(shí)添加“white-space:pre;”樣式屬性。這個(gè)樣式表示"空白會(huì)被瀏覽器保留"
JavaScript-警告(alert 消息對(duì)話框)
我們?cè)谠L問(wèn)網(wǎng)站的時(shí)候村视,有時(shí)會(huì)突然彈出一個(gè)小窗口由境,上面寫著一段提示信息文字。如果你不點(diǎn)擊“確定”蓖议,就不能對(duì)網(wǎng)頁(yè)做任何操作,這個(gè)小窗口就是使用alert實(shí)現(xiàn)的讥蟆。
語(yǔ)法:
alert(字符串或變量);
注意:
- 在點(diǎn)擊對(duì)話框"確定"按鈕前勒虾,不能進(jìn)行任何其它操作。
- 消息對(duì)話框通橙惩可以用于調(diào)試程序修然。
- alert輸出內(nèi)容,可以是字符串或變量质况,與document.write 相似愕宋。
JavaScript-確認(rèn)(confirm 消息對(duì)話框)
confirm 消息對(duì)話框通常用于允許用戶做選擇的動(dòng)作,如:“你對(duì)嗎结榄?”等中贝。彈出對(duì)話框(包括一個(gè)確定按鈕和一個(gè)取消按鈕)。
語(yǔ)法:
confirm(str);
參數(shù)說(shuō)明:
- str:在消息對(duì)話框中要顯示的文本
- 返回值: Boolean值
返回值:
- 當(dāng)用戶點(diǎn)擊"確定"按鈕時(shí)臼朗,返回true
- 當(dāng)用戶點(diǎn)擊"取消"按鈕時(shí)邻寿,返回false
注: 通過(guò)返回值可以判斷用戶點(diǎn)擊了什么按鈕
注: 消息對(duì)話框是排它的,即用戶在點(diǎn)擊對(duì)話框按鈕前视哑,不能進(jìn)行任何其它操作绣否。
JavaScript-提問(wèn)(prompt 消息對(duì)話框)
prompt彈出消息對(duì)話框,通常用于詢問(wèn)一些需要與用戶交互的信息。彈出消息對(duì)話框(包含一個(gè)確定按鈕挡毅、取消按鈕與一個(gè)文本輸入框)蒜撮。
語(yǔ)法:
prompt(str1, str2);
參數(shù)說(shuō)明:
- str1: 要顯示在消息對(duì)話框中的文本,不可修改
- str2:文本框中的內(nèi)容跪呈,可以修改
返回值:
- 點(diǎn)擊確定按鈕段磨,文本框中的內(nèi)容將作為函數(shù)返回值
- 點(diǎn)擊取消按鈕,將返回null
注:在用戶點(diǎn)擊對(duì)話框的按鈕前耗绿,不能進(jìn)行任何其它操作薇溃。
JavaScript-打開(kāi)新窗口(window.open)
open() 方法可以查找一個(gè)已經(jīng)存在或者新建的瀏覽器窗口。
語(yǔ)法:
window.open([URL], [窗口名稱], [參數(shù)字符串])
參數(shù)說(shuō)明:
- URL:可選參數(shù)缭乘,在窗口中要顯示網(wǎng)頁(yè)的網(wǎng)址或路徑沐序。如果省略這個(gè)參數(shù)琉用,或者它的值是空字符串,那么窗口就不顯示任何文檔策幼。
- 窗口名稱:可選參數(shù)邑时,被打開(kāi)窗口的名稱。
1.該名稱由字母特姐、數(shù)字和下劃線字符組成晶丘。
2.`"_top"、"_blank"唐含、"_self"具有特殊意義的名稱
_blank:在新窗口顯示目標(biāo)網(wǎng)頁(yè)
_self:在當(dāng)前窗口顯示目標(biāo)網(wǎng)頁(yè)
_top:框架網(wǎng)頁(yè)中在上部窗口中顯示目標(biāo)網(wǎng)頁(yè)
3.相同 name 的窗口只能創(chuàng)建一個(gè)浅浮,要想創(chuàng)建多個(gè)窗口則 name 不能相同。
4.name 不能包含有空格捷枯。 - 參數(shù)字符串:可選參數(shù)滚秩,設(shè)置窗口參數(shù),各參數(shù)用逗號(hào)隔開(kāi)淮捆。`
參數(shù)表:
注意:運(yùn)行結(jié)果考慮瀏覽器兼容問(wèn)題郁油。
JavaScript-關(guān)閉窗口(window.close)
close()關(guān)閉窗口
用法:
window.close(); //關(guān)閉本窗口
或
<窗口對(duì)象>.close(); //關(guān)閉指定的窗口
例如:關(guān)閉新建的窗口。
<script type="text/javascript">
var mywin=window.open('http://www.imooc.com'); //將新打的窗口對(duì)象攀痊,存儲(chǔ)在變量mywin中
mywin.close();
</script>
注意:上面代碼在打開(kāi)新窗口的同時(shí)桐腌,關(guān)閉該窗口,看不到被打開(kāi)的窗口苟径。
認(rèn)識(shí)DOM
文檔對(duì)象模型DOM(Document Object Model)定義訪問(wèn)和處理HTML文檔的標(biāo)準(zhǔn)方法案站。DOM 將HTML文檔呈現(xiàn)為帶有元素、屬性和文本的樹(shù)結(jié)構(gòu)(節(jié)點(diǎn)樹(shù))棘街。
先來(lái)看看下面代碼:
將HTML代碼分解為DOM節(jié)點(diǎn)層次圖:
HTML文檔可以說(shuō)由節(jié)點(diǎn)構(gòu)成的集合嚼吞,三種常見(jiàn)的DOM節(jié)點(diǎn):
- 元素節(jié)點(diǎn):上圖中<html>、<body>蹬碧、<p>等都是元素節(jié)點(diǎn)舱禽,即標(biāo)簽。
- 文本節(jié)點(diǎn):向用戶展示的內(nèi)容恩沽,如<li>...</li>中的JavaScript誊稚、DOM唱遭、CSS等文本粪狼。
- 屬性節(jié)點(diǎn):元素屬性,如<a>標(biāo)簽的鏈接屬性崎弃。
通過(guò)ID獲取元素
學(xué)過(guò)HTML/CSS樣式渤闷,都知道疾瓮,網(wǎng)頁(yè)由標(biāo)簽將信息組織起來(lái),而標(biāo)簽的id屬性值是唯一的飒箭,就像是每人有一個(gè)身份證號(hào)一樣狼电,只要通過(guò)身份證號(hào)就可以找到相對(duì)應(yīng)的人蜒灰。那么在網(wǎng)頁(yè)中,我們通過(guò)id先找到標(biāo)簽肩碟,然后進(jìn)行操作强窖。
語(yǔ)法:
document.getElementById(“id”)
看看下面代碼:
結(jié)果:null或[object HTMLParagraphElement]
注:獲取的元素是一個(gè)對(duì)象,如想對(duì)元素進(jìn)行操作削祈,我們要通過(guò)它的屬性或方法翅溺。
document.getElementById('con')獲取的只是P標(biāo)簽,返回的是[object HTMLParagraphElement]髓抑,document.getElementById('con').innerHTML獲取的才是P標(biāo)簽里的內(nèi)容咙崎,返回的是JavaScript
innerHTML 屬性
innerHTML 屬性用于獲取或替換 HTML 元素的內(nèi)容。
語(yǔ)法:
Object.innerHTML
注意:
- Object是獲取的元素對(duì)象吨拍,如通過(guò)document.getElementById("ID")獲取的元素褪猛。
- 注意書寫,innerHTML區(qū)分大小寫密末。
改變 HTML 樣式
HTML DOM 允許 JavaScript 改變 HTML 元素的樣式。如何改變 HTML 元素的樣式呢跛璧?
語(yǔ)法:
Object.style.property=new style;
注意:Object是獲取的元素對(duì)象严里,如通過(guò)document.getElementById("id")獲取的元素。
基本屬性表(property):
注意:該表只是一小部分CSS樣式屬性追城,其它樣式也可以通過(guò)該方法設(shè)置和修改刹碾。
顯示和隱藏(display屬性)
網(wǎng)頁(yè)中經(jīng)常會(huì)看到顯示和隱藏的效果,可通過(guò)display屬性來(lái)設(shè)置座柱。
語(yǔ)法:
Object.style.display = value
注意:Object是獲取的元素對(duì)象迷帜,如通過(guò)document.getElementById("id")獲取的元素。
value取值:
控制類名(className 屬性)
className 屬性設(shè)置或返回元素的class 屬性色洞。
語(yǔ)法:
object.className = classname
作用:
- 獲取元素的class 屬性
- 為網(wǎng)頁(yè)內(nèi)的某個(gè)元素指定一個(gè)css樣式來(lái)更改該元素的外觀