- 目錄
- 第一章喂很、基礎(chǔ)語法
- 第二章同衣、常用互動方法
- 第三章蚜枢、DOM操作
第一章缸逃、請做好準(zhǔn)備
如何插入JS
使用<script>標(biāo)簽在HTML網(wǎng)頁中插入JavaScript代碼。注意厂抽, <script>標(biāo)簽要成對出現(xiàn)需频,并把JavaScript代碼寫在 <script></script>
之間。
<script type="text/javascript">
表示在<script></script>之間的是文本類型(text),javascript是為了告訴瀏覽器里面的文本是屬于JavaScript語言修肠。
引用JS外部文件
我們可以把HTML文件和JS代碼分開,并單獨創(chuàng)建一個JavaScript文件(簡稱JS文件),其文件后綴通常為.js贺辰,然后將JS代碼直接寫在JS文件中。
注意:在JS文件中,不需要<script>標(biāo)簽,直接編寫JavaScript代碼就可以了饲化。
JS文件不能直接運行莽鸭,需嵌入到HTML文件中執(zhí)行,我們需在HTML中添加如下代碼吃靠,就可將JS文件嵌入HTML文件中
<script src="script.js"></script>
src
是指向物件的來源href
是指向需要連結(jié)的地方
JS在頁面中的位置
我們一般放在網(wǎng)頁的head或者body部分硫眨。
放在<head>部分
最常用的方式是在頁面中head部分放置<script>元素,瀏覽器解析head部分就會執(zhí)行這個代碼巢块,然后才解析頁面的其余部分礁阁。
放在<body>部分
JavaScript代碼在網(wǎng)頁讀取到該語句的時候就會執(zhí)行。
注意:
javascript作為一種腳本語言可以放在html頁面中任何位置族奢,但是瀏覽器解釋html時是按先后順序的姥闭,所以前面的script就先被執(zhí)行。比如進(jìn)行頁面顯示初始化的js必須放在head里面越走,因為初始化都要求提前進(jìn)行(如給頁面body設(shè)置css等)棚品;而如果是通過事件調(diào)用執(zhí)行的function那么對位置沒什么要求的。
JavaScript-認(rèn)識語句和符號
JavaScript語句是發(fā)給瀏覽器的命令廊敌。這些命令的作用是告訴瀏覽器要做的事情铜跑。
每一句JavaScript代碼格式:
語句;
<script type="text/javascript">
alert("hello!");
</script>
一行的結(jié)束就被認(rèn)定為語句的結(jié)束,通常在結(jié)尾加上一個分號";"
來表示語句的結(jié)束骡澈。
JavaScript-注釋很重要
單行注釋锅纺,在注釋內(nèi)容前加符號 “//”。
<script type="text/javascript">
document.write("單行注釋使用'//'"); // 我是注釋肋殴,該語句功能在網(wǎng)頁中輸出內(nèi)容
</script>
多行注釋以"/"開始囤锉,以"/"結(jié)束。
<script type="text/javascript">
document.write("多行注釋使用/*注釋內(nèi)容*/");
/*
多行注釋
養(yǎng)成書寫注釋的良好習(xí)慣
*/
</script>
JavaScript-什么是變量
定義變量使用關(guān)鍵字var,語法如下:
var 變量名
變量名可以任意取名疼电,但要遵循命名規(guī)則:
1.變量必須使用字母嚼锄、下劃線(_)或者美元符($)開始。
2.然后可以使用任意多個英文字母蔽豺、數(shù)字区丑、下劃線(_)或者美元符($)組成。
3.不能使用JavaScript關(guān)鍵詞與JavaScript保留字修陡。
變量要先聲明再賦值沧侥,如下:
var mychar;
mychar="javascript";
var mynum = 6;
變量可以重復(fù)賦值,如下:
var mychar;
mychar="javascript";
mychar="hello";
注意:
1. 在JS中區(qū)分大小寫魄鸦,如變量mychar與myChar是不一樣的宴杀,表示是兩個變量。
2. 變量雖然也可以不聲明拾因,直接使用旺罢,但不規(guī)范旷余,需要先聲明,后使用扁达。
JavaScript-判斷語句(if...else)
語法:
if(條件)
{ 條件成立時執(zhí)行的代碼 }
else
{ 條件不成立時執(zhí)行的代碼 }
假設(shè)我們通過年齡來判斷是否為成年人正卧,如年齡大于等于18歲,是成年人跪解,否則不是成年人炉旷。代碼表示如下:
<script type="text/javascript">
var myage = 18;
if(myage>=18) //myage>=18是判斷條件
{ document.write("你是成年人。");}
else //否則年齡小于18
{ document.write("未滿18歲叉讥,你不是成年人窘行。");}
</script>
JavaScript-什么是函數(shù)
如何定義一個函數(shù)呢?基本語法如下:
function 函數(shù)名()
{
函數(shù)代碼;
}
一個實現(xiàn)兩數(shù)相加的簡單函數(shù),并給函數(shù)起個有意義的名字:“add2”图仓,代碼如下:
function add2(){
var sum = 3 + 2;
alert(sum);
}
第2章罐盔、常用互動方式
輸出內(nèi)容(document.write)
document.write()
可用于直接向 HTML 輸出流寫內(nèi)容。簡單的說就是直接在網(wǎng)頁中輸出內(nèi)容救崔。
第一種:輸出內(nèi)容用""括起翘骂,直接輸出""號內(nèi)的內(nèi)容。
<script type="text/javascript">
document.write("I love JavaScript帚豪!"); //內(nèi)容用""括起來,""里的內(nèi)容直接輸出草丧。
</script>
第二種:通過變量狸臣,輸出內(nèi)容
<script type="text/javascript">
var mystr="hello world!";
document.write(mystr); //直接寫變量名,輸出變量存儲的內(nèi)容昌执。
</script>
第三種:輸出多項內(nèi)容烛亦,內(nèi)容之間用+號連接。
<script type="text/javascript">
var mystr="hello";
document.write(mystr+"I love JavaScript"); //多項內(nèi)容之間用+號連接
</script>
第四種:輸出HTML標(biāo)簽懂拾,并起作用煤禽,標(biāo)簽使用""括起來。
<script type="text/javascript">
var mystr="hello";
document.write(mystr+"<br>");//輸出hello后岖赋,輸出一個換行符
document.write("JavaScript");
</script>
JS如何輸出空格
- 使用輸出html標(biāo)簽?來解決
document.write(" "+"1"+" "+"23");
結(jié)果: 1 23
- 使用CSS樣式來解決
document.write("<span style='white-space:pre;'>"+" 1 2
3 "+"</span>");
結(jié)果: 1 2 3
在輸出時添加“white-space:pre;”
樣式屬性檬果。這個樣式表示"空白會被瀏覽器保留"
JavaScript-警告(alert 消息對話框)
語法:
alert(字符串或變量);
看下面的代碼:
<script type="text/javascript">
var mynum = 30;
alert("hello!");
alert(mynum);
</script>
注:alert彈出消息對話框(包含一個確定按鈕)。
結(jié)果:按順序彈出消息框
注意:
1. 在點擊對話框"確定"按鈕前唐断,不能進(jìn)行任何其它操作选脊。
2. 消息對話框通常可以用于調(diào)試程序脸甘。
3. alert輸出內(nèi)容恳啥,可以是字符串或變量,與document.write 相似丹诀。
JavaScript-確認(rèn)(confirm 消息對話框)
confirm 消息對話框通常用于允許用戶做選擇的動作钝的,如:“你對嗎翁垂?”等。彈出對話框(包括一個確定按鈕和一個取消按鈕)硝桩。
語法:
confirm(str);
參數(shù)說明:
str:在消息對話框中要顯示的文本
返回值: Boolean值
返回值:
當(dāng)用戶點擊"確定"按鈕時沿猜,返回true
當(dāng)用戶點擊"取消"按鈕時,返回false
注: 通過返回值可以判斷用戶點擊了什么按鈕
看下面的代碼:
<script type="text/javascript">
var mymessage=confirm("你喜歡JavaScript嗎?");
if(mymessage==true)
{ document.write("很好,加油!"); }
else
{ document.write("JS功能強(qiáng)大亿柑,要學(xué)習(xí)噢!"); }
</script>
注: 消息對話框是排它的邢疙,即用戶在點擊對話框按鈕前,不能進(jìn)行任何其它操作望薄。
JavaScript-提問(prompt 消息對話框)
prompt
彈出消息對話框,通常用于詢問一些需要與用戶交互的信息疟游。彈出消息對話框(包含一個確定按鈕、取消按鈕與一個文本輸入框)痕支。
語法:
prompt(str1, str2);
參數(shù)說明
str1: 要顯示在消息對話框中的文本颁虐,不可修改
str2:文本框中的內(nèi)容,可以修改
返回值:
1. 點擊確定按鈕卧须,文本框中的內(nèi)容將作為函數(shù)返回值
2. 點擊取消按鈕另绩,將返回null
看看下面代碼:
var myname=prompt("請輸入你的姓名:");
if(myname!=null)
{ alert("你好"+myname); }
else
{ alert("你好 my friend."); }
輸入姓名點擊確定效果:
點擊取消效果:
JavaScript-打開新窗口(window.open)
open() 方法可以查找一個已經(jīng)存在或者新建的瀏覽器窗口。
語法:
window.open([URL], [窗口名稱], [參數(shù)字符串])
參數(shù)說明:
URL:可選參數(shù)花嘶,在窗口中要顯示網(wǎng)頁的網(wǎng)址或路徑笋籽。如果省略這個參數(shù),或者它的值
是空字符串椭员,那么窗口就不顯示任何文檔车海。
窗口名稱:可選參數(shù),被打開窗口的名稱隘击。
1.該名稱由字母侍芝、數(shù)字和下劃線字符組成。
2."_top"埋同、"_blank"州叠、"_self"具有特殊意義的名稱。
_blank:在新窗口顯示目標(biāo)網(wǎng)頁
_self:在當(dāng)前窗口顯示目標(biāo)網(wǎng)頁
_top:框架網(wǎng)頁中在上部窗口中顯示目標(biāo)網(wǎng)頁
3.相同 name 的窗口只能創(chuàng)建一個凶赁,要想創(chuàng)建多個窗口則 name 不能相同咧栗。
4.name 不能包含有空格。
參數(shù)字符串:可選參數(shù)哟冬,設(shè)置窗口參數(shù)楼熄,各參數(shù)用逗號隔開。
例如:打開http://www.imooc.com網(wǎng)站浩峡,大小為300px * 200px可岂,無菜單,無工具欄翰灾,無狀態(tài)欄缕粹,有滾動條窗口:
<script type="text/javascript">
window.open('http://www.imooc.com',
'_blank','width=300,height=200,menubar=no,toolbar=no, status=no,
scrollbars=yes')
</script>
注意:運行結(jié)果考慮瀏覽器兼容問題稚茅。
JavaScript-關(guān)閉窗口(window.close)
close()關(guān)閉窗口
用法:
window.close(); //關(guān)閉本窗口
或
<窗口對象>.close(); //關(guān)閉指定的窗口
例如:關(guān)閉新建的窗口。
<script type="text/javascript">
var mywin=window.open('http://www.imooc.com'); //將新打的窗口對象平斩,存儲在變量mywin中
mywin.close();
</script>
注意:上面代碼在打開新窗口的同時亚享,關(guān)閉該窗口,看不到被打開的窗口绘面。
第3章欺税、DOM操作
認(rèn)識DOM
文檔對象模型DOM(Document Object Model)定義訪問和處理HTML文檔的標(biāo)準(zhǔn)方法。DOM 將HTML文檔呈現(xiàn)為帶有元素揭璃、屬性和文本的樹結(jié)構(gòu)(節(jié)點樹)晚凿。
將HTML代碼分解為DOM節(jié)點層次圖:
HTML文檔可以說由節(jié)點構(gòu)成的集合,三種常見的DOM節(jié)點:
元素節(jié)點:上圖中<html>瘦馍、<body>歼秽、<p>等都是元素節(jié)點,即標(biāo)簽情组。
文本節(jié)點:向用戶展示的內(nèi)容燥筷,如<li>...</li>中的JavaScript、DOM院崇、CSS等文本肆氓。
屬性節(jié)點:元素屬性,如<a>標(biāo)簽的鏈接屬性底瓣。
看下面代碼:
<a >JavaScript DOM</a>
通過ID獲取元素
學(xué)過HTML/CSS樣式做院,都知道,網(wǎng)頁由標(biāo)簽將信息組織起來濒持,而標(biāo)簽的id屬性值是唯一的,就像是每人有一個身份證號一樣寺滚,只要通過身份證號就可以找到相對應(yīng)的人柑营。那么在網(wǎng)頁中,我們通過id先找到標(biāo)簽村视,然后進(jìn)行操作官套。
語法:
document.getElementById(“id”)
看看下面代碼:
結(jié)果:null或[object HTMLParagraphElement]
注:獲取的元素是一個對象,如想對元素進(jìn)行操作蚁孔,我們要通過它的屬性或方法奶赔。
innerHTML 屬性
innerHTML 屬性用于獲取或替換 HTML 元素的內(nèi)容。
語法:
Object.innerHTML
注意:
1.Object是獲取的元素對象杠氢,如通過document.getElementById("ID")獲取的元素站刑。
2.注意書寫,innerHTML區(qū)分大小寫鼻百。
我們通過id="con"獲取<p> 元素绞旅,并將元素的內(nèi)容輸出和改變元素內(nèi)容摆尝,代碼如下:
結(jié)果:
改變 HTML 樣式
HTML DOM 允許 JavaScript 改變 HTML 元素的樣式。如何改變 HTML 元素的樣式呢因悲?
語法:
Object.style.property=new style;
注意
:Object是獲取的元素對象堕汞,如通過document.getElementById("id")獲取的元素。
基本屬性表(property):
注意
:該表只是一小部分CSS樣式屬性晃琳,其它樣式也可以通過該方法設(shè)置和修改讯检。
看看下面的代碼:
改變 <p> 元素的樣式,將顏色改為紅色卫旱,字號改為20,背景顏色改為藍(lán):
<p id="pcon">Hello World!</p>
<script>
var mychar = document.getElementById("pcon");
mychar.style.color="red";
mychar.style.fontSize="20";
mychar.style.backgroundColor ="blue";
</script>
結(jié)果:
顯示和隱藏(display屬性)
網(wǎng)頁中經(jīng)常會看到顯示和隱藏的效果人灼,可通過display屬性來設(shè)置。
語法:
Object.style.display = value
注意:
Object是獲取的元素對象誊涯,如通過document.getElementById("id")獲取的元素挡毅。
value取值:
看看下面代碼:
控制類名(className 屬性)
className 屬性設(shè)置或返回元素的class 屬性。
語法:
object.className = classname
作用:
1.獲取元素的class 屬性
2. 為網(wǎng)頁內(nèi)的某個元素指定一個css樣式來更改該元素的外觀
看看下面代碼暴构,獲得 <p> 元素的 class 屬性和改變className:
結(jié)果: