第七課、流程控制之if、switch語句
一、if條件判斷語句
一、if(expression){
//expression爲true的時候執行裏面的內容
}
二、if(expression){
//expression爲true的時候執行裏面的內容
}else{
//expression爲false的時候執行裏面的內容
}
三、if(expression1){
//expression1爲true的時候執行裏面的內容
}else if(expression2){
//expression2爲true的時候執行裏面的內容
}else if(expression3){
//expression3爲true的時候執行裏面的內容
}else{
//這個else無關緊要。若是有的話,則上述條件
//都不知足的時候執行else
}
二、switch語句
語法格式:
switch(expression){
case judgement1:statement1:break;
case judgement2:statement2:break;
...
default:defaultstatement;
}
示例:
var username="tiger2";
switch(username){
case "jerry":alert("小老鼠");break;
case "tom":alert("貓");break;
case "tiger":alert("老虎");break;
default:alert("沒有匹配到任何值");
}
課下做業:把以上示例用if語句來實現。
第八課、流程控制之for、while、do-while語句
一、for循環語句
語法格式:for(①initialize;②test;④increment){
③statement
}
①->②(true)->③->④->②(true)->③->④->......
①->②(true)->③->④->②(false) for循環結束
示例:
var sum=0;
for(var i=1;i<=10;i++){
sum+=i;
}
alert("總和爲:"+sum);
二、while循環語句
while循環的循環體可能一次都不執行。
語法格式:while(①expression){
②statement
}
①(true)->②->①(true)->②.....
①(false) 直接終止while循環。
示例:
var sum1=0;
var i=100;
while(i<=1){
sum1+=i;
i++;
}
alert("while總和爲:"+sum1);
三、do-while循環語句
do-while循環的循環體可以保證至少執行一次。
語法格式:
do{
①statement
}while(②expression);
示例:
var sum2=0;
var i2=1;
do{
sum2+=i2;
i2++;
}while(i2<=10);
alert("do-while總和爲:"+sum2);
while循環是 先判斷條件是否成立,而後再根據判斷的結果是否執行循環體。也就是
說循環體有可能一次都執行不了。
do-while循環是 先執行一次循環體,而後再判斷條件是否成立。因此無論條件
是否成立,至少可以執行一次。
第九課、函數的定義與調用
一、函數的定義
function functionName([parameter1,parameter2,...]){
statments;
[return expression;]
}
function是必需要寫的,由於這是定義函數的關鍵字。
functionName 是函數名,必需要寫,並且在同一個頁面中,函數名是惟一的。
而且區分大小寫。
parameter:可選參數,用於指定參數列表。當使用多個參數時,參數間使用
逗號進行分隔。一個函數最多能夠有255個參數。
statements:必選參數,這是函數體,用於實現函數功能的語句。
expression:可選參數,用於返回函數值。expression能夠是任意的表達式、變量或常量。
//函數定義
示例:function account(price,number){
var sum=price*number;
return sum;
}
var i=account(10,5);//函數調用
二、函數的調用
function checkName(){
var str=form1.userName.value;
if(str==""){
alert("用戶名不能爲空");
}else{
alert("用戶名能夠註冊");
}
}
<body>
<form name="form1" method="post" action="">
請輸入姓名:<input type="text" name="userName" id="userName" size="30"/>
<br/>
<input type="button" value="檢測" onclick="checkName()"/>
</form>
</body>
第十一課、String對象介紹
一、屬性
在JavaScript中能夠用單引號或者雙引號括起來的一個字符串看成一個字符串對象
的實例,因此能夠在某個字符串後面加上.去調用String對象的屬性和方法。
length:返回String對象的長度。表明的是字符串當中字符的個數。
每一個漢字按一個字符計算
"你們好".length;//值爲3.
"Hello World".length;//值爲11
二、經常使用方法
indexOf(subsString[,startIndex])
用於返回第一次出現子字符串的字符位置。若是沒有找到指定的子字符串,
則返回-1。
subString:必選參數。要在String對象中查找的子字符串
startIndex:可選參數。
示例:
var str="admin@java1995.com";
var index=str.indexOf("@",6);
alert(index);
substr(start[,length])
用於返回指定字符串的一個子串。
start:必選參數,用於指定獲取子字符串的起始下標。若是是一個負數,
那麼表示從字符串的尾部開始算起始位置。-1表明最後一個字符,
-2表明倒數第二個字符,以此類推。
length:可選參數,用於指定字符串中字符的個數。若是省略,則返回從
start開始位置到字符串結尾的子串。
示例:
var word="One World One Dream!";
var subs=word.substr(4,5);// World
var word="One World One Dream!";
var subs=word.substr(4);// World One Dream!
substring(from[,to])
from:用於指定要獲取子字符串的第一個字符在string中的位置
to:可選參數,指定最後的位置。
[from,to) 包含from,不包含to.因此若是要獲取to的字符,須要to+1
示例:
var word="One World One Dream!";
var subs=word.substring(4,8+1);// World
split(delimiter[,limit])
用於將字符串分割爲字符串數組。
delimiter:指定的分隔符
limit:可選參數,用於指定返回數組的最大長度。
返回值:一個字符串數組
示例:
var str="www.java1995.com";
var arr=str.split(".");
for(var i=0;i<arr.length;i++){
alert(arr[i]);
}
//以上代碼彈出的值依次爲:www java1995 com
var str="www.java1995.com";
var arr=str.split(".",2);
for(var i=0;i<arr.length;i++){
alert(arr[i]);
}
//以上代碼彈出的值依次爲:www java1995
第十二課、Math與Date對象介紹
一、Math對象
在使用Math對象時不能使用new關鍵字建立實例,而是直接使用對象名.成員 這種格式
alert(Math.PI);
alert(Math.random());
alert(Math.max(3,76,21,90,5,6,-5,-903));
alert(Math.min(3,76,21,90,5,6,-5,-903));
二、Date對象
var now=new Date();//建立Date對象
var year=now.getFullYear();//獲取年份
var month=now.getMonth()+1;//得到月份
var date=now.getDate();//獲取日期
var day=now.getDay();//獲取星期
var hour=now.getHours();//獲取小時
var minutes=now.getMinutes();//獲取分鐘
var sec=now.getSeconds();//獲取秒
第十三課、Window對象介紹
window對象即爲瀏覽器窗口對象,是全部對象的頂級對象。window對象提供了許多
屬性和方法,這些屬性和方法被用來操做瀏覽器頁面的內容。
window對象和Math對象同樣,也不須要使用new關鍵字建立對象實例,而是直接使用
對象名.成員 的格式來訪問其屬性或方法。
一、window對象的經常使用屬性
document
對窗口或框架中含有文檔的document對象的只讀引用
defaultStatus
一個可讀寫的字符,用於指定狀態欄中的默認消息
frames
表示當前窗口中全部的frame對象的集合
location
用於表明窗口或框架的location對象。若是將一個URL賦給該屬性,、
那麼瀏覽器將加載並顯示該URL指定的文檔。
length
窗口或框架包含的框架個數
history
對窗口或框架的history對象的只讀引用
name
用於存放窗口的名字
status
一個可讀寫的字符,用於指定狀態欄中的當前信息
top
表示最頂層的瀏覽器窗口
parent
表示包含當前窗口的父窗口
opener
表示打開當前窗口的父窗口
closed
一個只讀的布爾值,表示當前窗口是否關閉。
self
表示當前窗口
screen
對窗口或框架的screen對象的只讀引用,提供屏幕尺寸、顏色深度
等信息。
navigator
對窗口或框架的navigator對象的只讀引用,經過navigator對象
能夠得到與瀏覽器相關的信息
二、window對象的經常使用方法
因爲window對象使用十分頻繁,並且又是其餘對象的父對象,因此在使用window對象
的屬性和方法時,JavaScript容許省略window對象的名稱。
alert()
彈出一個警告對話框
confirm()
顯示一個確認對話框,單擊確認按鈕時返回true,
不然返回false
prompt()
彈出一個提示對話框,並要求輸入一個簡單的
字符串
blur()
把鍵盤的焦點從頂層瀏覽器窗口中移走
close()
關閉窗口
focus()
把鍵盤的焦點賦予給頂層的瀏覽器窗口
open()
打開一個新窗口
scrollTo(x,y)
把窗口滾動到(x,y)座標指定的位置
scrollBy(offsetx,offsety)
按照指定的位移量滾動窗口
setTimeout(timer)
在通過指定的時間後執行代碼
clearTimeout()
取消對指定代碼的延遲執行
moveTo(x,y)
將窗口移動到一個絕對位置
moveBy(offsetx,offsety)
將窗口移動到指定的位移量處
resizeTo(x,y)
設置窗口的大小
print()
至關於瀏覽器工具欄的打印按鈕
setInterval()
週期執行指定的代碼
clearInterval()
取消週期性的執行代碼
第十四課、DOM技術概述
一、DOM概述 DOM是一種與瀏覽器、平臺及語言無關的接口,可以以編程方式訪問和操做文檔。
一、DOM是Document Object Model(文檔對象模型)的簡稱。
二、提供了訪問、操做該模型的API。
二、DOM的分層結構 在DOM中,文檔的層次結構被表示爲樹形結構。樹是倒立的,樹根在上,枝葉 在下面,樹的節點表示文檔中的內容。 在樹形結構中, 直接位於一個節點之下的節點被稱爲該節點的子節點; 直接位於一個節點之上的節點被稱爲該節點的父節點; 具備相同父節點的節點是兄弟節點; 一個節點的下一個層次的節點集合是該節點的後代; 一個節點的父節點,祖先節點以及其餘全部位於他之上的節點都是該節點的祖先;
第十五課、DOM遍歷文檔
一、遍歷文檔
在DOM中,HTML文檔各個節點被視爲各類類型的Node對象,而且將HTML文檔表示爲
Node對象的樹。
Node對象的屬性
屬性
類型
描述
parentNode
Node
節點的父節點,沒有父節點是爲null
childNodes
NodeList
節點的全部子節點的NodeList
firstChild
Node
節點的第一個子節點,沒有則爲null
lastChild
Node
節點的最後一個子節點,沒有則爲null
nodeName
String
節點名
nodeValue
String
節點值
previousSibling Node
上一個兄弟節點
nextSibling
Node
下一個兄弟節點
nodeType
short
表示節點類型的常量
Element <a > <img >
Text 文本
第十六課、DOM操做文檔
Node對象的經常使用方法
方法
描述
insertBefore(newChild,refChild)
在現有節點refChild以前插入節點
newChild
replaceChild(newChild,oldChild)
將子節點清單中的子節點oldChild
換成newChild,並返回oldChild節點
removeChild(oldChild)
將子節點清單中的子節點oldChild
刪除,並返回oldChild節點
appendChild(newChild)
將節點newChild添加到該節點的子節點
清單末尾。若是newChild已經在樹中,
則先將其刪除
hasChildNodes()
返回一個布爾值,表示節點是否有子節點
cloneNode(deep)
返回這個節點的拷貝(包括屬性)。若是
deep爲true則拷貝全部包含的節點,不然
只拷貝這個節點。
課下做業:新增一個功能,可以刪除指定的行數。刪除以前要進行判斷輸入的內容
是否合法。
第十七課、正則表達式(1)
一個正則表達式是由普通字符(如a~z)以及特殊字符(稱爲元字符)組成的模式字符串。
該模式字符串描述在查找文字主體時待匹配的一個或多個字符串。正則表達式做爲一
個模板,將某個字符模式與所搜索的字符串進行匹配。
一、字符類
代碼
說明
示例
[...]
匹配方括號中字符序列的任意一個
/[012]/能夠與0A1B2C中的字符0或1或2匹配
字符。其中可使用連字符"-"匹配
/[0-5]/能夠與a3g02gsf91dfs4中的0到5
指定範圍內的任意字符。
之間的任意數字字符匹配
[^...]
匹配方括號中字符序列未包含的任意
/[^012]/能夠與0A1B2C中的除0、一、2
字符。其中可使用連字符"-"匹配不
以外的任意字符匹配,在這裏匹配A或B或C
在指定範圍內的任意字符。
/[^a-z]/能夠與a3g02gsf91dfs4不在小寫
字母a-z之間的任意字符匹配。
.
匹配除了換行和回車以外的任意字符,
無
至關於[^\r\n]
\d
匹配任意一個數字字符,至關於[0-9]
/\d\d/能夠匹配wy32k中的32
\D
匹配任意非數字字符,至關於[^0-9]
/\D/能夠匹配wy3k中的w或y或k
\s
匹配任意空白字符,如空格、製表符、
/\s\d\d/能夠匹配my age is 20.中的 20
換行符等,至關於[\t\n\x0B\f\r]
注意2前面的空格。
\S
匹配任意非空白符,至關於[^\t\n\x0B\f\r] /\S/能夠匹配A B中的A或B
\w
匹配任何英文字母、數字字符以及下劃線,
/\w/能夠匹配shdf82w09_+&^中的字母、
至關於[a-zA-Z0-9_]
數字、下劃線
二、量詞
代碼
說明
示例
?
匹配前一項0次或1次
/JS?/能夠匹配JScript中的JS或者JavaScript中
的J
+
匹配前一項1次或屢次,
/JS+/能夠匹配JS,也能夠匹配JSSSS或者JSSSSSS,
但至少出現1次
也就是說能夠匹配J後面出現一個或多個S。
*
匹配前一項0次或者屢次,
/bo*/能夠匹配b、bo、boo、boooo之類的字符串
也就是任意次
{n}
匹配前一項剛好n次,其中n爲
/o{2}/能夠匹配book中的兩個o,也能夠匹配booook
非負整數
中任意兩個連續的o
{n,}
匹配前一項至少n次
/o{2,}/不匹配home中的o,由於至少要匹配兩個o。
因此能夠匹配good或者gooooood中的全部o
{n,m}
匹配前一項至少n次,但不能
/o{2,5}/能夠匹配book中的兩個o,也能夠匹配
超過m次,其中n、m是非負整
boooook中的5個連續的o
數,而且n<=m
在使用{n,m}時,數字與逗號之間不能有空格符
三、指定匹配位置
代碼
說明
示例
^
匹配字符串的行開頭。
/^g/匹配good中的g,但不匹配bag中的g
^必須出如今指定字符
串的最前面才起做用。
$
匹配字符串的行結尾。
/g$/匹配bag中的g,但不匹配good中的g
$必須出如今指定字符
串的最後面才起做用。
\b
匹配單詞的邊界
/e\b/匹配"I love seek"中love的e,不匹配seek中的e
\B
匹配單詞的非邊界
/e\B/匹配"I love seek"中seek的e,不匹配love中的e
四、使用選擇匹配符
正則表達式的選擇匹配符只有一個"|",使用"|"能夠匹配指定的多個選項中的任意一項。
例如/World|Dream/能夠匹配"One World One Dream"中的World或者Dream
五、分組
分組就是使用小括號將多個單獨的字符或字符類組合成子表達式,以即可以像處理一個
獨立的單元那樣,用"|"、"*"、"+"或者"?"等來處理他們。好比/J(ava)?Script/能夠匹配
JavaScript,也能夠匹配JScript
更多資料請加入Java資源庫官方羣:253190527
Java資源庫原創教程《JavaScript腳本語言輕鬆入門》
講師:李偉
第十八課、正則表達式(2)
一、經過RegExp類的構造方法建立
\d{3}
語法格式:new RegExp(pattern[,flags])
pattern:必選參數,用於指定須要進行匹配的模式字符串。
flags:可選參數,用於指定正則表達式的標誌信息。
g:全局標誌。若是設置了該標誌,對於某個文本執行搜索或者替換時,將對
文本中的全部匹配部分起做用,不然僅搜索或替換第一次匹配的內容。
i:忽略大小寫標誌。
m:多行標誌。若是不設置這個標誌,那麼^只能匹配字符串的開頭,$只能
匹配字符串的結尾;若是設置了這個標誌,那麼^能夠匹配多行字符串的
每一行的開頭,$能夠匹配多行字符串的每一行的結尾。
var objExp=new RegExp("\\d",g);
二、經過正則表達式字面量建立RegExp對象
正則表達式字面量由兩條斜線//中間加入模式匹配字符串組成。若是還要指定標誌
信息,則在最後的斜線/後面加上標誌信息,好比g或者i.
var objExp=/\d/g;
三、使用test()方法進行模式匹配
test()方法用於對一個指定的字符串執行模式匹配,若是搜索到匹配的字符,
返回true,不然返回false
var objExp=/\d/g;
objExp.test("abc");
四、使用exec()方法進行模式匹配
exec()方法返回值不是true或者false,而是當沒有搜索到匹配的字符時,返回null,
不然返回一個數組,這個數組的第一個元素包含與正則表達式相匹配的字符串,其餘
元素包含的是匹配的各個分組(用括號括起來的子表達式)
語法格式:
regExp.exec(str)