來源:- LYN .. 發(fā)布時(shí)間:2019-04-26 15:40:46 閱讀量:2175
94年網(wǎng)景公司 研發(fā)出世界上第一款瀏覽器。
95年 sun公司 java語言誕生
網(wǎng)景公司和sun合作。
Java+script ===> javascript
JavaScript和ECMAScript的關(guān)系
簡單來說ECMAScript不是一門語言,而是一個(gè)標(biāo)準(zhǔn)。符合這個(gè)標(biāo)準(zhǔn)的比較常見的有:JavaScript、Action Script(Flash中用的語言)
JavaScript的語法:
變量的聲明及使用
數(shù)據(jù)類型
運(yùn)算符
邏輯控制語句
注釋
語法規(guī)則
變量的聲明語法:
var變量名;
例如:
Var num;
然后進(jìn)行賦值:num = 10;也可以聲明時(shí)直接賦值:
Var num =10;
在JavaScript中,提供了常用的基本數(shù)據(jù)類型:
undefined 未定義;
null 空;
string 字符串類型;
boolean 布爾類型;
number 數(shù)值類型;
運(yùn)算符:
算數(shù)運(yùn)算符:+、-、*、/、%、++、–;
比較運(yùn)算符:>、<、> =、< =、==、!=;
邏輯運(yùn)算符:&&、||、!;
賦值運(yùn)算符:=;
邏輯控制語句:
JavaScript的邏輯控制語句也分為兩類:條件結(jié)構(gòu)和循環(huán)機(jī)構(gòu)。
條件結(jié)構(gòu)
條件機(jī)構(gòu)分為if結(jié)構(gòu)和switch結(jié)構(gòu):
If…else
Switch
循環(huán)結(jié)構(gòu)
JavaScript的循環(huán)結(jié)構(gòu)的執(zhí)行順序與Java類似,主要包括以下幾種結(jié)構(gòu):
for循環(huán)
while循環(huán)
do…while循環(huán)
for…inx循環(huán)
示例:
for(var i=0;i<10;i++){
Document.write(“*”);
}
輸出結(jié)果:**********
循環(huán)中斷:
用于循環(huán)中斷的語句有以下兩種:
break.
continue.
與Java用法一樣,break是跳出循環(huán),continue是跳入下一次循環(huán)。
函數(shù)有兩種:一種是系統(tǒng)函數(shù),一種是自定義函數(shù)。
常用的系統(tǒng)函數(shù)包括:
parseInt():轉(zhuǎn)換為整數(shù)。
parseFloat():轉(zhuǎn)換為浮點(diǎn)型。
isNaN():判斷非數(shù)字。
Eval():計(jì)算表達(dá)式值。
自定義函數(shù):
自定義函數(shù)的語法
function 函數(shù)名(參數(shù)1,參數(shù)2,…){
…//語句
Return 返回值;//可選
}
函數(shù)的調(diào)用:
函數(shù)的調(diào)用方式有以下兩種
事件名=函數(shù)名(傳遞的實(shí)參值),例如:
“函數(shù)名()”
直接使用函數(shù)名(傳遞的實(shí)參值),例如:
var recult = add(2,3);
匿名函數(shù)
匿名函數(shù)的語法
var sumFun=function(num1,num2){
…
return(nun1,num2);
} ;
在語法中:
var sunFun=function(num1,num2)表示聲明一個(gè)變量等于某個(gè)函數(shù)體。
{…};是把整個(gè)函數(shù)體放在變量的后面,并把末尾添加一個(gè)分號(hào)。
匿名函數(shù)的調(diào)用:
由于匿名函數(shù)定義的整個(gè)語句,可以像賦值一樣賦給一個(gè)變量進(jìn)行保存,所以可以使用如下方式調(diào)用語法中的匿名函數(shù):
var sum=sumFun(2,3)
使用BOM可以移動(dòng)窗口,改變狀態(tài)欄中的文本,執(zhí)行其他與頁面內(nèi)容不直接相關(guān)的動(dòng)作。它包含的對(duì)象主要有以下幾種;
Window對(duì)象
Window對(duì)象是指整個(gè)窗口對(duì)象,可以通過操作Window對(duì)象的屬性和方法控制窗口,例如,打開或關(guān)閉一個(gè)窗口。
History對(duì)象
瀏覽器訪問過的歷史頁面對(duì)應(yīng)History對(duì)象,通過History對(duì)象的屬性和方法實(shí)現(xiàn)瀏覽器的前進(jìn)或后退的功能。
Location對(duì)象
瀏覽器的地址欄對(duì)應(yīng)Location對(duì)象,通過Location對(duì)象的屬性和方法控制頁面跳轉(zhuǎn)。
Document對(duì)象
瀏覽器內(nèi)的網(wǎng)頁內(nèi)容對(duì)應(yīng)Document對(duì)象,通過Document對(duì)象的屬性和方法,控制頁面元素。
Window常用的屬性有:
history:有關(guān)客戶訪問過的URL的信息。
location:有關(guān)當(dāng)前URL的信息。
Screen: 有關(guān)客戶端的屏幕和顯示性能的信息。
Window對(duì)象常用的方法:
prompt():顯示可提示用戶輸入的對(duì)話框。
alert():顯示帶有一段消息和一個(gè)人“確認(rèn)”按鈕的警告框。
confirm():顯示帶有一段消息以及“確認(rèn)”按鈕“取消”按鈕的對(duì)話框。
close():關(guān)閉瀏覽器窗口。
open():打開一個(gè)新的瀏覽器窗口,加載給定URL所指定的文檔。
setTimeout():用于在指定(以毫秒計(jì))后調(diào)用函數(shù)或計(jì)算表達(dá)式。
setTneerval():按照指定的周期 (以毫秒計(jì))數(shù)來調(diào)用函數(shù)或計(jì)算表達(dá)式。
Window對(duì)象常用窗口特征屬性
height、width:窗口文檔顯示區(qū)的高度、寬度,以像素計(jì)。
left、top:窗口的x坐標(biāo)y坐標(biāo),以像素計(jì)。
toolbar:yes|no|1|0:是否顯示瀏覽器的工具欄,默認(rèn)是yes。
scrollbars =yes|no|1|0:是否顯示滾動(dòng)條,默認(rèn)是yes。
locationyes|no|1|0:是否顯示地址欄,默認(rèn)是yes。
status|no|1|0:是否添加地址欄,默認(rèn)是yes。
menubar|no|1|0:是否顯示菜單欄,默認(rèn)是yes。
resizable|no|1|0:窗口是否可調(diào)節(jié)尺寸,默認(rèn)是yes。
Window對(duì)象的常用事件:
onload:一個(gè)頁面或一副圖像完成加載。
onmouseover:鼠標(biāo)指針移到某元素之上。
onclick:單擊某個(gè)對(duì)象。
onkeydown:某個(gè)鍵盤按鍵被按下。
onchange:域的內(nèi)容被改變。
History對(duì)象的方法:
back():加載History對(duì)象列表中的上一個(gè)URL。
forward():加載History對(duì)象列表中的下一個(gè)URL。
go():加載History對(duì)象列表中的某個(gè)具體URL。
Location對(duì)象的屬性:
host:設(shè)置或返回主機(jī)名和當(dāng)前URL的端口號(hào)。
hostname:設(shè)置或返回當(dāng)前URL的主機(jī)名。
href:設(shè)置或返回完整的URL。
Location對(duì)象的方法:
reload():重新加載當(dāng)前文檔。
replace():用新的文檔替換當(dāng)前文檔。
Document對(duì)象常用的屬性:
referrer:返回載入當(dāng)前文檔的URL。
URL:返回當(dāng)前文檔的URL。
Document對(duì)象的常用方法:
getElementById():返回對(duì)擁有指定id的第一個(gè)對(duì)象的引用。
getElementsByName():返回帶有指定名稱的對(duì)象的集合。
getElementsByTagName():返回帶有指定標(biāo)簽名的對(duì)象的集合。
write():向文檔寫文本、HTML表達(dá)式代碼。
內(nèi)置對(duì)象
系統(tǒng)的內(nèi)置對(duì)象有Date對(duì)象、Array對(duì)象、String對(duì)象和Math對(duì)象等。
Date:用于操作日期和時(shí)間。
Array:用于在單獨(dú)的變量名中儲(chǔ)存一系列的值。
String:用于支持對(duì)字符串的處理。
Math:用于執(zhí)行數(shù)學(xué)任務(wù),包含了若干數(shù)字常量和函數(shù)。
Date對(duì)象:
1:創(chuàng)建日期對(duì)象
Date對(duì)象包含日期和時(shí)間兩個(gè)信息,創(chuàng)建日期對(duì)象的基本語法有兩種:
創(chuàng)建日期的基本語法1: var 日期實(shí)例化=new Date(參數(shù));
創(chuàng)建日期的基本語法2: var 日期實(shí)例化=new Date();
Date對(duì)象的常用方法:
getDate():從Date對(duì)象返回一個(gè)月中的某一天,其值介于1到31之間。
getDay():從Date對(duì)象返回星期中的某一天,其值介于0到6之間。
getHours():返回Date對(duì)象的小時(shí),其值介于0到23之間。
getMinutes():返回Date對(duì)象的分鐘,其值介于0到59之間。
getSeconds():返回Date對(duì)象的秒數(shù),其值介于0到59之間。
getMonth():返回Date對(duì)象的月份,其值介于0到11之間。
getFullYear():返回Date對(duì)象的年份,其值為4位數(shù)。
getTime():返回自某一時(shí)刻(2010年1月1日)以來的毫秒數(shù)。
什么是DOM
DOM是文檔對(duì)象的縮寫,和語言無關(guān)。它提供了訪問、動(dòng)態(tài)修改結(jié)構(gòu)文檔的接口,W3C制定了DOM規(guī)范,主流瀏覽器都支持。
使用Core DOM操作節(jié)點(diǎn)
訪問節(jié)點(diǎn):
使用getElement系列方法訪問指定節(jié)點(diǎn)。
getElementById():返回對(duì)擁有指定id的第一個(gè)對(duì)象的引用。
getElementsByName():返回帶有指定名稱的對(duì)象的集合。
getElementsByTagName():返回帶有指定標(biāo)簽名的對(duì)象的集合。
使用層次關(guān)系訪問節(jié)點(diǎn)。
parenNode:返回節(jié)點(diǎn)的父節(jié)點(diǎn)。
firstChild:返回節(jié)點(diǎn)的首個(gè)節(jié)點(diǎn)。文本和屬性節(jié)點(diǎn)沒有父節(jié)點(diǎn),會(huì)返回一個(gè)空數(shù)組,對(duì)于元素節(jié)點(diǎn),若是沒有子節(jié)點(diǎn)會(huì)返回null。
lastChild:返回節(jié)點(diǎn)的最后一個(gè)子節(jié)點(diǎn),返回值同firstChild。
操作節(jié)點(diǎn)屬性值
CoreDOM的標(biāo)準(zhǔn)方法包括以下兩種:
getAttribute(“屬性名”):獲取屬性值。
getAttribute(“屬性名”,“屬性值”):設(shè)置屬性值
創(chuàng)建和增加節(jié)點(diǎn):
創(chuàng)建節(jié)點(diǎn)
createElement(tagName):按照給定的標(biāo)簽名稱創(chuàng)建一個(gè)新的元素節(jié)點(diǎn)
appendChild(nodeName):向以存在節(jié)點(diǎn)列表的末尾添加新的節(jié)點(diǎn)。
inserBefore(newNode,oldNode):向指定的節(jié)點(diǎn)之前插入一個(gè)新的子節(jié)點(diǎn)。
cloneNode(deep):復(fù)制某個(gè)指定的節(jié)點(diǎn)。
刪除和替換節(jié)點(diǎn)
removeChild(node):刪除指定的節(jié)點(diǎn)。
replaceChild(newNode,oldNode):用其他的節(jié)點(diǎn)替換指定的節(jié)點(diǎn)。
Table對(duì)象的屬性和方法
屬性:
rows[]:返回包含表格中所有行的一個(gè)數(shù)組。
rows[]用于返回表格中所有行的一個(gè)數(shù)組。
方法:
inserRow():在表格中插入一個(gè)新行。
deleteRow():從表格中刪除一行。
數(shù)組是具有相同數(shù)據(jù)類型的一個(gè)或多個(gè)值得集合
創(chuàng)建數(shù)組的語法:
var 數(shù)組名稱=new Array(size);
數(shù)組的賦值的兩種方式:
先聲明在賦值
var province = new Array(4);
province[0]=“河北省”;
province[1]=“河南省”;
索引也可以使用標(biāo)識(shí)(字符串),例如:
var province=new Array(4);
province[‘河北省’]=“河北省”;
province[‘河南省’]=“河南省”;
聲明時(shí)同時(shí)初始化
var province=new Array(“河北省”,“河南省”,“湖北省”,“廣東省”);
Array對(duì)象的常用屬性和方法:
屬性:
length:設(shè)置或返回?cái)?shù)組中元素的數(shù)目。
方法:
join():把數(shù)組的所有元素放入一個(gè)字符串,通過一個(gè)分隔符進(jìn)行分割。
sort():對(duì)數(shù)組的元素進(jìn)行排序。