1.js注釋很重要
單行注釋,在注釋內容前加符號 “//”。
<script type="text/javascript"> document.write("單行注釋使用'//'"); // 我是注釋,該語句功能在網頁中輸出內容 </script>
多行注釋以"/*"開始,以"*/"結束。
<script type="text/javascript"> document.write("多行注釋使用/*注釋內容*/"); /* 多行注釋 養成書寫注釋的良好習慣 */ </script>
2.什么是變量
定義變量使用關鍵字var,語法如下:
var 變量名
變量名可以任意取名,但要遵循命名規則:
1.變量必須使用字母、下划線(_)或者美元符($)開始。
2.然后可以使用任意多個英文字母、數字、下划線(_)或者美元符($)組成。
3.不能使用JavaScript關鍵詞與JavaScript保留字。
變量要先聲明再賦值,如下
var mychar; mychar="javascript"; var mynum = 6;
變量可以重復賦值,如下:
var mychar; mychar="javascript"; mychar="hello";
注意:
1. 在JS中區分大小寫,如變量mychar與myChar是不一樣的,表示是兩個變量。
2. 變量雖然也可以不聲明,直接使用,但不規范,需要先聲明,后使用。
3.判斷語句(if...else)
if...else語句是在指定的條件成立時執行代碼,在條件不成立時執行else后的代碼。
語法:
if(條件) { 條件成立時執行的代碼 } else { 條件不成立時執行的代碼 }
假設我們通過年齡來判斷是否為成年人,如年齡大於等於18歲,是成年人,否則不是成年人。代碼表示如下:
<script type="text/javascript"> var myage = 18; if(myage>=18) //myage>=18是判斷條件 { document.write("你是成年人。");} else //否則年齡小於18 { document.write("未滿18歲,你不是成年人。");} </script>
任務
假設小明數字成績考試了80分,使用if...else語句判斷考試成績,是否及格(60分以上為及格)。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>判斷語句</title> <script type="text/javascript"> var score =80; //score變量存儲成績,初值為80 if(score>=60) { document.write("很棒,成績及格了。"); } else { document.write("加油,成績不及格。"); } </script> </head> <body> </body> </html>
結果顯示:很棒,成績及格了。
想要設多個判斷條件時怎么辦?
if(){ } else if(){ } ... else{ }
如果要在一個if()里面設置多個判斷條件的話,用&&(和)||(或)
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>判斷語句</title> <script type="text/javascript"> var score =80; //score變量存儲成績,初值為80 if(score>=60&&score<=70) {document.write("恭喜及格了");} else if(score>=80) {document.write("優秀");} else{document.write("無");} </script> </head> <body> </body> </html>
結果:優秀
4.什么是函數
如何定義一個函數呢?基本語法如下:
function 函數名() { 函數代碼; }
說明:
1. function定義函數的關鍵字。
2. "函數名"你為函數取的名字。
3. "函數代碼"替換為完成特定功能的代碼。
我們來編寫一個實現兩數相加的簡單函數,並給函數起個有意義的名字:“add2”,代碼如下
function add2(){ var sum = 3 + 2; alert(sum); }
函數調用:
函數定義好后,是不能自動執行的,所以需調用它,只需直接在需要的位置寫函數就ok了,代碼如下:
function add2(){ var sum = 3 + 2; alert(sum); }
函數調用:
函數定義好后,是不能自動執行的,所以需調用它,只需直接在需要的位置寫函數就ok了,
函數名( );
代碼如下:
網頁中有一按鈕(名字"點擊我"),當點擊按鈕后調用函數contxt(),彈出對話框"哈哈,調用函數了!"。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>函數調用</title> <script type="text/javascript"> function contxt() //定義函數 { alert("哈哈,調用函數了!"); } </script> </head> <body> <form> <input type="button" value="點擊我" onclick="contxt();" /> </form> </body> </html>
結果:
5.互動方法(輸出內容(document.write),警告(alert 消息對話框),確認(confirm 消息對話框),提問(prompt 消息對話框),打開新窗口(window.open),關閉窗口(window.close) )
(1)輸出內容(document.write)
第一種:輸出內容用“”括起,直接輸出""號內的內容。
<script type="text/javascript"> document.write("I love JavaScript!"); //內容用""括起來,""里的內容直接輸出。 </script>
第二種:通過變量,輸出內容
<script type="text/javascript"> var mystr="hello world!"; document.write(mystr); //直接寫變量名,輸出變量存儲的內容。 </script>
第三種:輸出多項內容,內容之間用+號連接。
<script type="text/javascript"> var mystr="hello"; document.write(mystr+"I love JavaScript"); //多項內容之間用+號連接 </script>
第四種:輸出HTML標簽,並起作用,標簽使用“”括起來。
<script type="text/javascript"> var mystr="hello"; document.write(mystr+"<br>");//輸出hello后,輸出一個換行符 document.write("JavaScript"); </script>
任務
現在我們來輸出兩條語句,在網頁中輸點內容吧!
1.使用document.write輸出mychar變量的內容,同時輸出一個換行符。
2.使用document.write一條語句,通過變量mystr,mychar,"的忠實粉絲!",輸出完整的一句"我是JavaScript的忠實粉絲!"。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>document.write</title> <script type="text/javascript"> var mystr="我是"; var mychar="JavaScript"; document.write(mystr+"<br>"); document.write(mychar+"的忠實粉絲!"); </script> </head> <body> </body> </html>
結果:
我是
JavaScript的忠實粉絲!
參考資料:
JS中如何輸出空格
在寫JS代碼的時候,大家可以會發現這樣現象:
document.write(" 1 2 3 ");
結果: 1 2 3
無論在輸出的內容中什么位置有多少個空格,顯示的結果好像只有一個空格。
這是因為瀏覽器顯示機制,對手動敲入的空格,將連續多個空格顯示成1個空格。
解決方法:
1. 使用輸出html標簽 來解決
document.write(" "+"1"+" "+"23");
結果: 1 23
2. 使用CSS樣式來解決
document.write("<span style='white-space:pre;'>"+" 1 2 3 "+"</span>");
結果: 1 2 3
在輸出時添加“white-space:pre;”樣式屬性。這個樣式表示"空白會被瀏覽器保留"
(2)警告(alert 消息對話框)
我們在訪問網站的時候,有時會突然彈出一個小窗口,上面寫着一段提示信息文字。如果你不點擊“確定”,就不能對網頁做任何操作,這個小窗口就是使用alert實現的。
語法:
alert(字符串或變量);
看下面的代碼:
<script type="text/javascript"> var mynum = 30; alert("hello!"); alert(mynum); </script>
注:alert彈出消息對話框(包含一個確定按鈕)。
結果:按順序彈出消息框
注意:
1. 在點擊對話框"確定"按鈕前,不能進行任何其它操作。
2. 消息對話框通常可以用於調試程序。
3. alert輸出內容,可以是字符串或變量,與document.write 相似。
任務
使用alert,通過消息框輸出變量mychar內容,點擊按鈕后彈出該對話框。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>alert</title> <script type="text/javascript"> function rec(){ var mychar="I love JavaScript"; alert(mychar); } </script> </head> <body> <input name="button" type="button" onClick="rec()" value="點擊我,彈出對話框" /> </body> </html>
結果:
(3)ΔΔΔ確認(confirm 消息對話框)
confirm 消息對話框通常用於允許用戶做選擇的動作,如:“你對嗎?”等。彈出對話框(包括一個確定按鈕和一個取消按鈕)。
語法:
confirm(str);
參數說明:
str:在消息對話框中要顯示的文本
返回值: Boolean值
返回值:
當用戶點擊"確定"按鈕時,返回true
當用戶點擊"取消"按鈕時,返回false
注: 通過返回值可以判斷用戶點擊了什么按鈕
看下面的代碼:
<script type="text/javascript"> var mymessage=confirm("你喜歡JavaScript嗎?"); if(mymessage==true) { document.write("很好,加油!"); } else { document.write("JS功能強大,要學習噢!"); } </script>
結果:
注: 消息對話框是排它的,即用戶在點擊對話框按鈕前,不能進行任何其它操作。
任務
使用confirm()提示框,當點擊按鈕時,完成性別確認。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>confirm</title> <script type="text/javascript"> function rec(){ var mymessage=confirm("你是女士!"); if(mymessage==true) { document.write("你是女士!"); } else { document.write("你是男士!"); } } </script> </head> <body> <input name="button" type="button" onClick="rec()" value="點擊我,彈出確認對話框" /> </body> </html>
結果:
(4)ΔΔΔ提問(prompt 消息對話框)
prompt彈出消息對話框,通常用於詢問一些需要與用戶交互的信息。彈出消息對話框(包含一個確定按鈕、取消按鈕與一個文本輸入框)。
語法:
prompt(str1, str2);
參數說明:
str1: 要顯示在消息對話框中的文本,不可修改
str2:文本框中的內容,可以修改
返回值:
1. 點擊確定按鈕,文本框中的內容將作為函數返回值
2. 點擊取消按鈕,將返回null
看看下面代碼:
var myname=prompt("請輸入你的姓名:"); if(myname!=null) { alert("你好"+myname); } else { alert("你好 my friend."); }
結果:
注:在用戶點擊對話框的按鈕前,不能進行任何其它操作。
任務
使用prompt()消息框,輸入你的成績,根據輸入的成績做出評價。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>prompt</title> <script type="text/javascript"> function rec(){ var score; //score變量,用來存儲用戶輸入的成績值。 score =prompt("請輸入你的成績") ; if(score>=90) { document.write("你很棒!"); } else if(score>=75) { document.write("不錯吆!"); } else if(score>=60) { document.write("要加油!"); } else { document.write("要努力了!"); } } </script> </head> <body> <input name="button" type="button" onClick="rec()" value="點擊我,對成績做評價!" /> </body> </html>
結果:要努力了!
結果:要加油!
結果:不錯吆!
結果:你很棒!
(5)打開新窗口(window.open)
open() 方法可以查找一個已經存在或者新建的瀏覽器窗口。
語法:
window.open([URL], [窗口名稱], [參數字符串])
參數說明:
URL:可選參數,在窗口中要顯示網頁的網址或路徑。如果省略這個參數,或者它的值是空字符串,那么窗口就不顯示任何文檔。
窗口名稱:可選參數,被打開窗口的名稱。
1.該名稱由字母、數字和下划線字符組成。
2."_top"、"_blank"、"_selft"具有特殊意義的名稱。
_blank:在新窗口顯示目標網頁
_self:在當前窗口顯示目標網頁
_top:框架網頁中在上部窗口中顯示目標網頁
3.相同 name 的窗口只能創建一個,要想創建多個窗口則 name 不能相同。
4.name 不能包含有空格。
參數字符串:可選參數,設置窗口參數,各參數用逗號隔開。
參數表:
例如:打開http://www.imooc.com網站,大小為300px * 200px,無菜單,無工具欄,無狀態欄,有滾動條窗口:
<script type="text/javascript">
window.open('http://www.imooc.com','_blank','width=300,height=200,menubar=no,toolbar=no, status=no,scrollbars=yes') </script>
注意:運行結果考慮瀏覽器兼容問題。
任務
打開http://www.imooc.com網頁,將在新窗體中打開,寬為600,高為400,距屏頂100像素,屏左0像素。當點擊按鈕時,打開新窗口。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>window.open</title> <script type="text/javascript"> function Wopen(){ window.open("http://www.imooc.com","_blank","width=600,height=200","_top=100","_left=0") ; } </script> </head> <body> <input name="button" type="button" onClick="Wopen()" value="點擊我,打開新窗口!" / > </body> </html>
結果:
(6)關閉窗口(window.close)
close()關閉窗口
用法:
window.close(); //關閉本窗口
或
<窗口對象>.close(); //關閉指定的窗口
例如:關閉新建的窗口。
<script type="text/javascript"> var mywin=window.open('http://www.imooc.com'); //將新打的窗口對象,存儲在變量mywin中 mywin.close(); </script>
注意:上面代碼在打開新窗口的同時,關閉該窗口,看不到被打開的窗口。
編程練習
制作新按鈕,“新窗口打開網站” ,點擊打開新窗口。
任務
1、新窗口打開時彈出確認框,是否打開
提示: 使用 if 判斷確認框是否點擊了確定,如點擊彈出輸入對話框,否則沒有任何操作。
2、通過輸入對話框,確定打開的網址,默認為 http://www.imooc.com/
3、打開的窗口要求,寬400像素,高500像素,無菜單欄、無工具欄。
<!DOCTYPE html> <html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html; charset=gbk"/> <script type="text/javascript"> // 新窗口打開時彈出確認框,是否打開 // 通過輸入對話框,確定打開的網址,默認為 http://www.imooc.com/ //打開的窗口要求,寬400像素,高500像素,無菜單欄、無工具欄。 function openWindow(){ var con=confirm("是否打開新窗口"); if(con==true) { var pro=prompt("請輸入網址","http://www.imooc.com") if(pro!=null) { window.open(pro,"_blank","width=400,height=500,menubar=no,toolbar=no"); } } } </script> </head> <body> <input type="button" value="新窗口打開網站" onclick="openWindow()" /> </body> </html>
輸入網址http://www.baidu.com
點擊確定打開百度窗口
6.DOM操作(通過ID獲取元素,innerHTML 屬性,改變 HTML 樣式,顯示和隱藏(display屬性),控制類名(className 屬性))
(1)通過ID獲取元素
語法:
document.getElementById(“id”)
看看下面代碼:
結果:null或[object HTMLParagraphElement]
注:獲取的元素是一個對象,如想對元素進行操作,我們要通過它的屬性或方法。
任務
通過document.getElementById獲取id為con的p標簽。
第11行為輸出獲取的元素,看看結果是什么。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>document.getElementById</title> </head> <body> <p id="con">JavaScript</p> <script type="text/javascript"> var mychar=document.getElementById("con"); document.write("結果:"+mychar.innerHTML); //輸出獲取的P標簽。 </script> </body> </html>
結果:
JavaScript
結果:JavaScript
(2)ΔΔΔinnerHTML 屬性
innerHTML 屬性用於獲取或替換 HTML 元素的內容。
語法:
Object.innerHTML
注意:
1.Object是獲取的元素對象,如通過document.getElementById("ID")獲取的元素。
2.注意書寫,innerHTML區分大小寫。
我們通過id="con"獲取<p> 元素,並將元素的內容輸出和改變元素內容,代碼如下:
結果:
任務
1.通過id獲取h2標簽元素,並賦給變量mychar。
2.使用innerHTML屬性,將獲取的h2標簽內容修改為"Hello world!"
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>innerHTML</title> </head> <body> <h2 id="con">javascript</H2> <p> JavaScript是一種基於對象、事件驅動的簡單腳本語言,嵌入在HTML文檔中,由瀏覽器負責解釋和執行,在網頁上產生動態的顯示效果並實現與用戶交互功能。</p> <script type="text/javascript"> var mychar=document.getElementById("con") ; document.write("原標題:"+mychar.innerHTML+"<br>"); //輸出原h2標簽內容 mychar.innerHTML="Hello world!"; document.write("修改后的標題:"+mychar.innerHTML); //輸出修改后h2標簽內容 </script> </body> </html>
結果:
Hello world!
JavaScript是一種基於對象、事件驅動的簡單腳本語言,嵌入在HTML文檔中,由瀏覽器負責解釋和執行,在網頁上產生動態的顯示效果並實現與用戶交互功能。
原標題:javascript
修改后的標題:Hello world!
(3)ΔΔΔ改變 HTML 樣式
HTML DOM 允許 JavaScript 改變 HTML 元素的樣式。如何改變 HTML 元素的樣式呢?
語法:
Object.style.property=new style;
注意:Object是獲取的元素對象,如通過document.getElementById("id")獲取的元素。
基本屬性表(property):
注意:該表只是一小部分CSS樣式屬性,其它樣式也可以通過該方法設置和修改。
看看下面的代碼:
改變 <p> 元素的樣式,將顏色改為紅色,字號改為20,背景顏色改為藍:
<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>
結果:
任務
現在我們來改變下HTML中元素的CSS樣式:
1.修改h2標簽的樣式,將顏色設為紅色。
2.修改h2標簽的樣式,將背景顏色設為灰色(#CCC)。
3.修改h2標簽的樣式,將寬設為300px。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>style樣式</title> </head> <body> <h2 id="con">I love JavaScript</H2> <p> JavaScript使網頁顯示動態效果並實現與用戶交互功能。</p> <script type="text/javascript"> var mychar= document.getElementById("con"); mychar.style.color="red"; mychar.style.backgroundColor="#CCC"; mychar.style.width="300px"; </script> </body> </html>
結果:
(4)ΔΔΔ顯示和隱藏(display屬性)
網頁中經常會看到顯示和隱藏的效果,可通過display屬性來設置。
語法:
Object.style.display = value
注意:Object是獲取的元素對象,如通過document.getElementById("id")獲取的元素。
value取值:
看看下面代碼:
任務
我們來實現id="con"的p標簽元素的隱藏和顯示:
1.通過style.display實現隱藏。
2.通過style.display實現顯示
點擊隱藏內容
點擊顯示內容
控制類名(className 屬性)
className 屬性設置或返回元素的class 屬性。
語法:
object.className = classname
作用:
1.獲取元素的class 屬性
2. 為網頁內的某個元素指定一個css樣式來更改該元素的外觀
看看下面代碼,獲得 <p> 元素的 class 屬性和改變className:
結果:
任務
我們通過className屬性來設置元素的樣式:
1.給id="p1"元素通過className添加"類名為one"的樣式。當點擊"添加樣式"按鈕,第一段文字添加樣式。
2.給id="p2"元素通過className修改為"類名為two"的樣式。當點擊"更改外觀"按鈕,第二段文字更改樣式。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>className屬性</title> <style> body{ font-size:16px;} .one{ border:1px solid #eee; width:230px; height:50px; background:#ccc; color:red; } .two{ border:1px solid #ccc; width:230px; height:50px; background:#9CF; color:blue; } </style> </head> <body> <p id="p1" > JavaScript使網頁顯示動態效果並實現與用戶交互功能。</p> <input type="button" value="添加樣式" onclick="add()"/> <p id="p2" class="one">JavaScript使網頁顯示動態效果並實現與用戶交互功能。</p> <input type="button" value="更改外觀" onclick="modify()"/> <script type="text/javascript"> function add(){ var p1 = document.getElementById("p1"); p1.className="one"; } function modify(){ var p2 = document.getElementById("p2"); p2.className="two"; } </script> </body> </html>
點擊添加樣式
點擊更改外觀
編程挑戰
小伙伴們,請編寫"改變顏色"、"改變寬高"、"隱藏內容"、"顯示內容"、"取消設置"的函數,點擊相應按鈕執行相應操作,點擊"取消設置"按鈕后,提示是否取消設置,如是執行操作,否則不做操作。
任務
一、定義"改變顏色"的函數
提示:
obj.style.color
obj.style.backgroundColor
二、定義"改變寬高"的函數
提示:
obj.style.width
obj.style.height
三、定義"隱藏內容"的函數
提示:
obj.style.display="none";
四、定義"顯示內容"的函數
提示:
obj.style.display="block";
五、定義"取消設置"的函數
提示:
使用confirm()確定框,來確認是否取消設置。
如是將以上所有的設置恢復原始值,否則不做操作。
六、當點擊相應按鈕,執行相應操作,為按鈕添加相應事件
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" Content="text/html; charset=utf-8" /> <title>javascript</title> <style type="text/css"> body{font-size:12px;} #txt{ height:400px; width:600px; border:#333 solid 1px; padding:5px;} p{ line-height:18px; text-indent:2em;} </style> </head> <body> <h2 id="con">JavaScript課程</H2> <div id="txt"> <h5>JavaScript為網頁添加動態效果並實現與用戶交互的功能。</h5> <p>1. JavaScript入門篇,讓不懂JS的你,快速了解JS。</p> <p>2. JavaScript進階篇,讓你掌握JS的基礎語法、函數、數組、事件、內置對象、BOM瀏覽器、DOM操作。</p> <p>3. 學完以上兩門基礎課后,在深入學習JavaScript的變量作用域、事件、對象、運動、cookie、正則表達式、ajax等課程。</p> </div> <form> <!--當點擊相應按鈕,執行相應操作,為按鈕添加相應事件--> <input type="button" value="改變顏色" onclick="changecolor()"> <input type="button" value="改變寬高" onclick="changewh()"> <input type="button" value="隱藏內容" onclick="hide()"> <input type="button" value="顯示內容" onclick="show()"> <input type="button" value="取消設置" onclick="com()"> </form> <script type="text/javascript"> var tet=document.getElementById("txt"); //定義"改變顏色"的函數 function changecolor(){ tet.style.color="red"; } //定義"改變寬高"的函數 function changewh(){ tet.style.width="300px"; tet.style.height="300px"; } //定義"隱藏內容"的函數 function hide(){ tet.style.display="none"; } //定義"顯示內容"的函數 function show(){ tet.style.display="block"; } //定義"取消設置"的函數 function com(){ var conf=confirm("是否取消設置"); if(conf==true) { txt.removeAttribute('style'); } } </script> </body> </html>
點擊改變顏色
點擊改變顏色寬度
點擊隱藏內容
點擊顯示內容
點擊取消設置
注意:本文為原創,轉載請以鏈接形式標明本文地址 ,謝謝合作。
本文地址:http://www.cnblogs.com/wanghuih/p/5586279.html