第3章webgis技術(shù)基礎(chǔ)javascript_第1頁(yè)
第3章webgis技術(shù)基礎(chǔ)javascript_第2頁(yè)
第3章webgis技術(shù)基礎(chǔ)javascript_第3頁(yè)
第3章webgis技術(shù)基礎(chǔ)javascript_第4頁(yè)
第3章webgis技術(shù)基礎(chǔ)javascript_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

JavaScript1第三節(jié)一、JavaScript簡(jiǎn)介HTML給網(wǎng)絡(luò)信息傳遞帶來(lái)了極大的便利,但是,單純地使用HTML代碼進(jìn)行編輯具有一定的缺陷,它只能靜態(tài)地顯示一些已經(jīng)提供的固有資源,缺乏必要的用戶與客戶端、

用戶和服務(wù)器之間的交互,這使網(wǎng)頁(yè)的使用友好度受到一定限制。JavaScript的出現(xiàn),滿足了用戶與客戶端互動(dòng)的需求,使得頁(yè)面和用戶之間不僅僅只是顯示和瀏覽的關(guān)系,而是實(shí)現(xiàn)了動(dòng)態(tài)的可交互式的表達(dá)能力。什么是JavaScript?JavaScript被設(shè)計(jì)用來(lái)向HTML頁(yè)面添加交互行為。 JavaScript是一種腳本語(yǔ)言(腳本語(yǔ)言是一種輕量級(jí)的編程語(yǔ)言)。JavaScript由數(shù)行可執(zhí)行計(jì)算機(jī)代碼組成。JavaScript通常被直接嵌入HTML頁(yè)面。 JavaScript是一種解釋性語(yǔ)言(就是說(shuō),代碼執(zhí)行不進(jìn)行預(yù)編譯)。所有的人無(wú)需購(gòu)買許可證均可使用JavaScript。2JavaScript是世界上最流行的編程語(yǔ)言。這門語(yǔ)言可用于

HTML

和web,更可廣泛用于服務(wù)器、PC、筆記本電腦、平板電腦和智能手機(jī)等設(shè)備。值得注意的是,雖然JavaScript與Java有緊密的聯(lián)系,但卻是兩種不同的語(yǔ)言。Java是SUN公司推出的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,特別適合于Internet應(yīng)用程序開(kāi)發(fā);而JavaScript是Netscape公司的產(chǎn)品,其目的是為了擴(kuò)展Netscape瀏覽器功能,而開(kāi)發(fā)的一種可以嵌入Web頁(yè)面中的基于對(duì)象和事件驅(qū)動(dòng)的解釋性語(yǔ)言。32.JavaScript示例:4寫(xiě)入HTML

輸出;對(duì)事件作出反應(yīng);改變HTML

內(nèi)容;改變HTML

圖像;改變HTML

樣式;驗(yàn)證輸入;(1)寫(xiě)入HTML

輸出5<!DOCTYPE

html><html><body><p>JavaScript

能夠直接寫(xiě)入HTML

輸出流中:</p><script>document.write("<h1>This

is

a

heading</h1>");document.write("<p>This

is

a

paragraph.</p>");</script></body></html>(2)對(duì)事件作出反應(yīng)6<!DOCTYPEhtml><html><body><h1>我的第一段JavaScript</h1><p>JavaScript

能夠?qū)κ录鞒龇磻?yīng)。比如對(duì)按鈕的點(diǎn)擊:</p><button

type=“button"onclick="alert('e!')">點(diǎn)擊這里</button></body></html>(3)改變HTML

內(nèi)容7//找到元素//改變內(nèi)容<!DOCTYPE

html><html><body><h1>我的第一段JavaScript</h1><p

id="demo">JavaScript

能改變HTML

元素的內(nèi)容。</p><script>function

myFunction(){x=document.getElementById("demo");x.innerHTML="Hello

JavaScript!";}</script><button

type="button"onclick="myFunction()">點(diǎn)擊這里</button></body></html>(4)改變HTML

圖像8<!DOCTYPE

html><html><body><script>function

changeImage(){

element=document.getElementById('myimage')if

(element.src.match("bulboff")){

element.src="eg_bulbon.gif";

}else{

element.src="eg_bulboff.gif";

}}</script><img

id="myimage"

onclick="changeImage()"

src="eg_bulboff.gif"><p>點(diǎn)擊燈泡來(lái)點(diǎn)亮或熄滅這盞燈</p></body></html>(5)改變HTML

樣式9<!DOCTYPE

html><html><body><h1>我的第一段JavaScript</h1><p

id="demo">JavaScript

能改變HTML

元素的樣式。</p><script>function

myFunction(){x=document.getElementById("demo")//找到元素//改變樣式x.style.color="#ff0000";}</script><button

type="button"

onclick="myFunction()">點(diǎn)擊這里</button></body></html>(6)驗(yàn)證輸入10<!DOCTYPE

html><html><body><h1>我的第一段JavaScript</h1><p>請(qǐng)輸入數(shù)字。如果輸入值不是數(shù)字,瀏覽器會(huì)彈出提示框。</p><input

id="demo"

type="text"><script>function

myFunction(){

var

x=document.getElementById("demo").value;if(x==""||isNaN(x)){

alert("Not

Numeric");

}}</script><button

type="button"onclick="myFunction()">點(diǎn)擊這里</button></body></html>3.在HTML中包含JavaScript11與在HTML中插入CSS樣式表不同,網(wǎng)頁(yè)設(shè)計(jì)者可以選擇在HTML頁(yè)面的任意位置添加JavaScript代碼。添加方法有兩種,一是在HTML文件當(dāng)中使用<script>標(biāo)記直接編寫(xiě)

JavaScript代碼,二是從外部的JavaScript文件導(dǎo)入到HTML文件中。兩種方式的語(yǔ)法格式如下:直接在HTML中添加JavaScript代碼<script

language="javascript">JavaScript代碼;……<

/script>導(dǎo)入JavaScript文件<script

language="JavaScript"

src="JavaScript文件地址"></script><i>

<body>

中的JavaScript12在本例中,JavaScript

會(huì)在頁(yè)面加載時(shí)向HTML

的<body>

寫(xiě)文本:<!DOCTYPEhtml><html><body><script>document.write("<h1>This

is

a

heading</h1>");document.write("<p>This

is

a

paragraph</p>");</script></body></html><ii><head>中的JavaScript

函數(shù)13您可以在HTML

文檔中放入不限數(shù)量的腳本。腳本可位于HTML的<body>或<head>部分中,或者同時(shí)存在于兩個(gè)部分中。通常的做法是把函數(shù)放入<head>部分中,或者放在頁(yè)面底部。這樣就可以把它們安置到同一處位置,不會(huì)干擾頁(yè)面的內(nèi)容。<!DOCTYPE

html><html><head><script>functionmyFunction(){

document.getElementById("demo").innerHTML="My

First

JavaScript

Function";

}</script></head><body><h1>My

Web

Page</h1><p

id="demo">A

Paragraph</p><button

type="button"

onclick="myFunction()">Try

it</button></body></html><iii>外部的JavaScript14<!DOCTYPEhtml><html><body><scriptsrc="myScript.js"></script></body></html>二、HTML

DOM

(文檔對(duì)象模型)(Document

Object

Model)15通過(guò)HTML

DOM,可訪問(wèn)JavaScript

HTML

文檔的所有元素。當(dāng)網(wǎng)頁(yè)被加載時(shí),瀏覽器會(huì)創(chuàng)建頁(yè)面的文檔對(duì)象模型。HTML

DOM

模型被構(gòu)造為對(duì)象的樹(shù)。1.HTML

DOM

樹(shù)16通過(guò)可編程的對(duì)象模型,JavaScript

獲得了足夠的能力來(lái)創(chuàng)建動(dòng)態(tài)的HTML。JavaScript

能夠改變頁(yè)面中的所有HTML

元素;JavaScript

能夠改變頁(yè)面中的所有HTML

屬性;JavaScript

能夠改變頁(yè)面中的所有CSS

樣式;JavaScript

能夠?qū)?yè)面中的所有事件做出反應(yīng);17查找HTML

元素:通常,通過(guò)JavaScript,您需要操作HTML

元素。為了做到這件事情,您必須首先找到該元素。有三種方法來(lái)做這件事:通過(guò)id

找到HTML

元素通過(guò)標(biāo)簽名找到HTML

元素通過(guò)類名找到HTML

元素18(1)通過(guò)id

查找HTML

元素19<!DOCTYPE

html><html><body><p

id="intro">Hello

World!</p><p>本例演示<b>getElementById</b>方法!</p><script>x=document.getElementById("intro");document.write('<p>id="intro"

的段落中的文本是:'+x.innerHTML+'</p>');</script></body></html>(2)通過(guò)標(biāo)簽名查找HTML

元素20<!DOCTYPE

html><html><body><p>Hello

World!</p><div

id="main"><p>The

DOM

is

very

useful.</p><p>本例演示<b>getElementsByTagName</b>方法。</p></div><script>var

x=document.getElementById("main");var

y=x.getElementsByTagName("p");document.write('id

為"main"

的div

中的第一段文本是:'+

y[0].innerHTML);</script></body></html>JavaScript

語(yǔ)句 JavaScript

語(yǔ)句是向?yàn)g覽器發(fā)出的命令。語(yǔ)句的作用是告

訴瀏覽器該做什么。瀏覽器會(huì)按照編寫(xiě)順序來(lái)執(zhí)行每條語(yǔ)句;通常我們?cè)诿織l可執(zhí)行的語(yǔ)句結(jié)尾添加分號(hào)(在JavaScript

中,用分號(hào)來(lái)結(jié)束語(yǔ)句是可選的);JavaScript

對(duì)大小寫(xiě)是敏感的。JavaScript

是腳本語(yǔ)言。瀏覽器會(huì)在讀取代碼時(shí),逐行地執(zhí)行腳本代碼。而對(duì)于傳統(tǒng)編程來(lái)說(shuō),會(huì)在執(zhí)行前對(duì)所有代碼進(jìn)行編譯。21三、JavaScript語(yǔ)言概覽JavaScript

變量 變量可以使用短名稱(比如x和y),也可以使用描述性更好的名稱(比如age,sum,

totalvolume)。變量必須以字母開(kāi)頭,變量也能以$

和_

符號(hào)開(kāi)頭(不過(guò)我們不推薦這么做)變量名稱對(duì)大小寫(xiě)敏感(y

和Y

是不同的變量)提示:JavaScript

語(yǔ)句和JavaScript

變量都對(duì)大小寫(xiě)敏感。223.JavaScript

運(yùn)算符JavaScript

算術(shù)運(yùn)算符23JavaScript

賦值運(yùn)算符24用于字符串的+運(yùn)算符:+運(yùn)算符用于把文本值或字符串變量加起來(lái)(連接起來(lái))。Eg:txt1="What

a

very";txt2="nice

day";

txt3=txt1+txt2;對(duì)字符串和數(shù)字進(jìn)行加法運(yùn)算:x=5+5;

document.write(x);x="5"+"5";

document.write(x);25x=5+"5";x="5"+5;document.write(x);document.write(x);比較運(yùn)算符=、!=、>、>=、<、<====全等(值和類型)邏輯運(yùn)算符!

&&

||條件運(yùn)算符variablename=(condition)?value1:value226代碼;27時(shí)執(zhí)行其他代碼;來(lái)執(zhí)行;分支語(yǔ)句:if

語(yǔ)句:只有當(dāng)指定條件為true

時(shí),使用該語(yǔ)句來(lái)執(zhí)行if...else

語(yǔ)句:當(dāng)條件為true

時(shí)執(zhí)行代碼,當(dāng)條件為falseif...else

ifelse

語(yǔ)句:使用該語(yǔ)句來(lái)選擇多個(gè)代碼塊之一switch

語(yǔ)句:使用該語(yǔ)句來(lái)選擇多個(gè)代碼塊之一來(lái)執(zhí)行;循環(huán)語(yǔ)句:JavaScript

支持不同類型的循環(huán):for-循環(huán)代碼塊一定的次數(shù);for/in-循環(huán)遍歷對(duì)象的屬性;while-當(dāng)指定的條件為true

時(shí)循環(huán)指定的代碼塊;do/while-同樣當(dāng)指定的條件為true

時(shí)循環(huán)指定的代碼塊;28For/In

循環(huán)JavaScript

for/in

語(yǔ)句循環(huán)遍歷對(duì)象的屬性;<!DOCTYPE

html><html><body><p>點(diǎn)擊下面的按鈕,循環(huán)遍歷對(duì)象"person"

的屬性。</p><button

onclick="myFunction()">點(diǎn)擊這里</button><p

id="demo"></p><script>function

myFunction(){ var

x,

txt="",

person={fname:"Bill",lname:"Gates",age:56};for

(x

in

person){ txt=txt

+

person[x];

}document.getElementById("demo").innerHTML=txt;}</script></body></html>29for/in語(yǔ)句的語(yǔ)法:for

(variable

in

object)statement;提供了一種遍歷對(duì)象屬性的方法。30Json格式(JavaScript

Object

Notation):Json是一種輕量級(jí)的數(shù)據(jù)交換格式。21世紀(jì)初,DouglasCrockford尋找一種簡(jiǎn)便的數(shù)據(jù)交換格式,能夠在服務(wù)器之間交換數(shù)據(jù)。當(dāng)時(shí)通用的數(shù)據(jù)交換語(yǔ)言是XML,但是DouglasCrockford覺(jué)得XML的生成和解析都太麻煩,所以他提出了一種簡(jiǎn)化格式,也就是Json。Json的規(guī)格非常簡(jiǎn)單,只用一個(gè)頁(yè)面幾百個(gè)字就能說(shuō)清楚,而且DouglasCrockford聲稱這個(gè)規(guī)格永遠(yuǎn)不必升級(jí),因?yàn)樵撘?guī)定的都規(guī)定了。31JSON語(yǔ)法規(guī)則:數(shù)據(jù)在名稱/值對(duì)中;數(shù)據(jù)由逗號(hào)分隔;花括號(hào)保存對(duì)象;方括號(hào)保存數(shù)組;32“北京市的面積為16800平方公里,常住人口1600萬(wàn)人。上海市的面積為6400平方公里,常住人口1800萬(wàn)?!睂?xiě)成json格式就是這樣:[{"城市":"北京","面積":16800,"人口":1600},{"城市":"上海","面積":6400,"人口":1800}]33json簡(jiǎn)單說(shuō)就是javascript中的對(duì)象和數(shù)組,通過(guò)這兩種結(jié)構(gòu)可以表示各種復(fù)雜的結(jié)構(gòu)。對(duì)象:對(duì)象在js中表示為“{}”括起來(lái)的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為:{key:value,

key:value,...}在面向?qū)ο蟮恼Z(yǔ)言中,key為對(duì)象的屬性,value為對(duì)應(yīng)的屬性值,取值方法為“對(duì)象.key”獲取屬性值。數(shù)組:數(shù)組在js中是中括號(hào)“[]”括起來(lái)的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為:[value1,value2,...]取值方式和所有語(yǔ)言中一樣,使用索引獲取。34var

people

=35{

"programmers":

[

{

"firstName":

"Brett",

"lastName":"McLaughlin","email":

"aaaa"

},

{

"firstName":

"Jason","lastName":"Hunter","email":

"bbbb"

},

{"firstName":

"Elliotte",

"lastName":"Harold","email":

"cccc"}

],"authors":

[

{

"firstName":

"Isaac",

"lastName":

"Asimov","genre":"science

fiction"

},

{

"firstName":

"Tad",

"lastName":

"Williams","genre":

"fantasy"

},

{

"firstName":

"Frank",

"lastName":

"Peretti","genre":

"christian

fiction"

}

],"musicians":

[

{"firstName":

"Eric","lastName":

"Clapton","instrument":

"guitar"

},

{"firstName":

"Sergei","lastName":"Rachmaninoff",

"instrument":

"piano"

}

]}?grammers[0].lastName;6.JavaScript

輸出36<!DOCTYPE

html><html><body><h1>My

First

Web

Page</h1><p

id="demo">My

First

Paragraph</p><script>

document.getElementById("demo").innerHTML="My

First

JavaScript";</script></body></html>寫(xiě)到文檔輸出:下面的例子直接把<p>元素寫(xiě)到HTML

文檔輸出中:37<!DOCTYPE

html><html><body><h1>My

First

Web

Page</h1><script>document.write("<p>My

First

JavaScript</p>");</script></body></html>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論