JavaScript引入方式深入解讀
一、JS介紹
Javascript是一種由Netscape(網(wǎng)景)的LiveScript發(fā)展而來的原型化繼承的面向?qū)ο蟮膭?dòng)態(tài)類型的區(qū)分大小寫的客戶端腳本語言,主要目的是為了解決服務(wù)器端語言,比如Perl,遺留的速度問題,為客戶提供更流暢的瀏覽效果。
當(dāng)時(shí)服務(wù)端需要對數(shù)據(jù)進(jìn)行驗(yàn)證,由于網(wǎng)絡(luò)速度相當(dāng)緩慢,只有28.8kbps,驗(yàn)證步驟浪費(fèi)的時(shí)間太多。于是Netscape的瀏覽器Navigator加入了Javascript,提供了數(shù)據(jù)驗(yàn)證的基本功能。JavaScript 的正式名稱是 “ECMAScript”。這個(gè)標(biāo)準(zhǔn)由 ECMA 組織發(fā)展和維護(hù)。ECMA-262 是正式的 JavaScript 標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)基于 JavaScript (Netscape) 和 JScript (Microsoft)。
Netscape (Navigator 2.0) 的 Brendan Eich 發(fā)明了這門語言,從 1996 年開始,已經(jīng)出現(xiàn)在所有的 Netscape 和 Microsoft 瀏覽器中。ECMA-262 的開發(fā)始于 1996 年,在 1997 年 7 月,ECMA 會員大會采納了它的首個(gè)版本。
JavaScript的組成包含ECMAScript、DOM、BOM。
JS是一種運(yùn)行于瀏覽器端上的小腳本語句,可以實(shí)現(xiàn)網(wǎng)頁如文本內(nèi)容動(dòng),數(shù)據(jù)動(dòng)態(tài)變化和動(dòng)畫特效等。

ECMAScript
是一種由歐洲計(jì)算機(jī)制造商協(xié)會(ECMA)通過ECMA-262標(biāo)準(zhǔn)化的腳本程序語言,簡單點(diǎn)說,ECMAScript描述了語法、類型、語句、關(guān)鍵字、保留字、運(yùn)算符和對象。它就是定義了腳本語言的所有屬性、方法和對象。
DOM
把整個(gè)頁面規(guī)劃成由節(jié)點(diǎn)層構(gòu)成的文檔,它不與瀏覽器、平臺、語言相關(guān),為web開發(fā)者提供一個(gè)標(biāo)準(zhǔn)可以訪問站點(diǎn)中的數(shù)據(jù)、腳本和表現(xiàn)層對象.DOM編程可以實(shí)現(xiàn)網(wǎng)頁內(nèi)容校驗(yàn)和動(dòng)態(tài)變化的效果
BOM
是瀏覽器的一種特性,它可以對瀏覽器窗口進(jìn)行訪問和操作,例如移動(dòng)、關(guān)閉窗口,調(diào)整窗口的大小,支持cookie等。BOM編程可以實(shí)現(xiàn)動(dòng)態(tài)控制瀏覽器本身行為的效果
也有人這么說:
ECMAScript可以理解為JS的基礎(chǔ)語法部分
DOM可以簡單理解為,使用document對象操作文檔內(nèi)容的編程
BOM可以理解為,使用window對象操作瀏覽器行為的編程
二、JS特點(diǎn)
JS特點(diǎn)
JS是運(yùn)行在瀏覽器上的一種腳本語言
1.腳本語言
腳本語言是一種簡單的程序,規(guī)模小,不需要編譯,運(yùn)行快,是由一些ASCII字符構(gòu)成,可以使用任何一種文本編輯器編寫。腳本語言是指在web瀏覽器內(nèi)有解釋器解釋執(zhí)行的編程語言,每次運(yùn)行程序的時(shí)候,解釋器會把程序代碼翻譯成可執(zhí)行的格式。一些程序語言(如C、C++、Java等)都必須經(jīng)過編譯,將源代碼編譯成二進(jìn)制的可執(zhí)行文件之后才能運(yùn)行,而腳本語言不需要事先編譯,只要有一個(gè)與其相適應(yīng)的解釋器就可以執(zhí)行。
2.基于對象的語言
面向?qū)ο笥腥筇攸c(diǎn)(封裝,繼承,多態(tài))缺一不可。通常"基于對象"是使用對象,但是無法利用現(xiàn)有的對象模板產(chǎn)生新的對象類型,也就是說"基于對象"沒有繼承的特點(diǎn)。沒有了繼承的概念也就無從談?wù)?quot;多態(tài)"
3.事件驅(qū)動(dòng)
在網(wǎng)頁中執(zhí)行了某種操作的動(dòng)作,被稱為"事件"(Event),比如按下鼠標(biāo)、移動(dòng)窗口、選擇菜單等都可以視為事件。當(dāng)事件發(fā)生后,可能會引起相應(yīng)的事件響應(yīng)。
4.簡單性
變量類型是采用弱類型,并未使用嚴(yán)格的數(shù)據(jù)類型。var a,b,c; a=123; b="abc"; a=b;
5.安全性
JavaScript不能訪問本地的硬盤,不能將數(shù)據(jù)存入到服務(wù)器上,不能對網(wǎng)絡(luò)文檔進(jìn)行修改和刪除,只能通過瀏覽器實(shí)現(xiàn)信息瀏覽或動(dòng)態(tài)交互
6.跨平臺性
JavaScript依賴于瀏覽器本身,與操作平臺無關(guān), 只要計(jì)算機(jī)安裝了支持JavaScript的瀏覽器(裝有JavaScript解釋器),JavaScript程序就可以正確執(zhí)行。
缺點(diǎn):
各種瀏覽器支持JavaScript的程度是不一樣的,支持和不完全支持JavaScript的 瀏覽器在瀏覽同一個(gè)帶有JavaScript腳本的網(wǎng)頁時(shí),效果會有一定的差距,有時(shí)甚至?xí)@示不出來。
三、JS和Java的區(qū)別
區(qū)別1:公司不同,前身不同
JavaScript是Netscape公司的產(chǎn)品,是為了擴(kuò)展Netscape Navigator功能而開發(fā)的一種可以嵌入Web頁面中的基于對象和事件驅(qū)動(dòng)的解釋性語言,它的前身是Live Script;Java是SUN公司推出的新一代面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,特別適合于Internet應(yīng)用程序開發(fā); Java的前身是Oak語言。
區(qū)別2:基于對象和面向?qū)ο?/p>
JavaScript是腳本語言,是一種基于對象的語言。本身提供了非常豐富的內(nèi)部對象供設(shè)計(jì)人員使用,但不支持繼承和多態(tài)。Java是面向?qū)ο蟮?,是一種真正的面向?qū)ο蟮恼Z言,支持封裝、繼承和多態(tài)。
區(qū)別3:變量類型強(qiáng)弱不同
Java采用強(qiáng)類型變量檢查,即所有變量在編譯之前必須聲明為某一指定類型。如: int x=1234;JavaScript中是弱類型變量。統(tǒng)一采用var聲明,可賦各種數(shù)據(jù)類型值。
區(qū)別4: 運(yùn)行的位置不同
Java運(yùn)行與服務(wù)器端的,大型編程語言, JS運(yùn)行于客戶端(瀏覽器)一種小規(guī)模腳本語言
四、HTML和CSS和JS這之間的關(guān)系
HTML和CSS和JS都是前端的主要技術(shù),三者各有分工.HTML可以用于制作網(wǎng)頁的主體結(jié)構(gòu),CSS用于給網(wǎng)頁做美化,JS用于在網(wǎng)頁上添加動(dòng)態(tài)效果

怎么樣,形象嗎,小伙伴。
五、JS的引入方式
1.內(nèi)嵌式
內(nèi)嵌式引入方式:
1.在head標(biāo)簽中,用一對script標(biāo)簽,嵌入js代碼
2.type屬性可以不寫
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>js引入方式1</title>
<!--內(nèi)嵌式引入方式
1.在head標(biāo)簽中,用一對script標(biāo)簽,嵌入js代碼
2.type屬性可以不寫
-->
<script type="text/javascript">
//定義一個(gè)函數(shù)(方法)
function fun1 () {
//彈窗提示信息
alert("hello word")
}
</script>
</head>
<body>
<input type="button" value="點(diǎn)我呀" onclick="fun1()"/>
</body>
</html>
缺點(diǎn):
1我們定義的JS代碼只能在當(dāng)前一個(gè)網(wǎng)頁中使用,代碼復(fù)用度低,可維護(hù)性低
2 JS代碼和HTML代碼混合在一個(gè)文件中,可閱讀性差
2.鏈接式

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>js引入方式2</title>
<!--鏈接式引入外部js文件
1.提高代碼復(fù)用度
2.降低代碼的維護(hù)難度
3.一個(gè)頁面可以同時(shí)引入多個(gè)不同的js文件
4.script標(biāo)簽中一旦引入外部結(jié)束文件,就不能在中間定義內(nèi)嵌代碼
-->
<script type="text/javascript" src="js/myjs.js"></script>
<script type="text/javascript" src="js/myjs2.js"></script>
<script>
function fun3() {
alert("js引入方式")
}
</script>
</head>
<body>
<input type="button" value="點(diǎn)我呀" onclick="fun1()"/>
<input type="button" value="點(diǎn)我呀2" onclick="fun2()"/>
<input type="button" value="點(diǎn)我呀3" onclick="fun3()"/>
</body>
</html>優(yōu)點(diǎn):
代碼復(fù)用度高,更易于維護(hù)代碼
注意事項(xiàng):
- 在一個(gè)頁面上可以同時(shí)引入多個(gè)JS文件
- 每個(gè)JS文件的引入都要使用一個(gè)獨(dú)立的
script標(biāo)簽 - 內(nèi)嵌式和鏈接式的引入不能使用同一標(biāo)簽
到此這篇關(guān)于JavaScript引入方式深入解讀的文章就介紹到這了,更多相關(guān)JS引入方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
讓div層隨鼠標(biāo)移動(dòng)的實(shí)現(xiàn)代碼 ie ff
隨鼠標(biāo)移動(dòng)的div層使用ie ff ,大家可以注意下兼容性的問題。2009-12-12
js實(shí)現(xiàn)帶翻轉(zhuǎn)動(dòng)畫圖片時(shí)鐘
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)帶翻轉(zhuǎn)動(dòng)畫的圖片時(shí)鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
firefox和IE系列的相關(guān)區(qū)別整理 以備后用
firefox和IE系列的相關(guān)區(qū)別整理,整理相對來說還可以,但對于個(gè)別細(xì)節(jié)的處理不夠完善。具體的可以參考腳本*之家以前發(fā)布的文章。2009-12-12
JavaScript MutationObserver實(shí)例講解
MutationObserver用來監(jiān)視DOM變動(dòng)。DOM的任何變動(dòng),比如節(jié)點(diǎn)增減、屬性的變動(dòng)、文本內(nèi)容的變動(dòng)都會觸發(fā)MutationObserver事件,它與事件有一個(gè)本質(zhì)不同:事件是同步觸發(fā),MutationObserver則是異步觸發(fā),DOM的變動(dòng)并不會馬上觸發(fā),而是要等到當(dāng)前所有DOM操作都結(jié)束才觸發(fā)2022-12-12
js獲取input長度并根據(jù)頁面寬度設(shè)置其大小及居中對齊
這篇文章主要介紹了js獲取input長度并根據(jù)頁面寬度設(shè)置其大小及居中對齊的方法,需要的朋友可以參考下2014-08-08
發(fā)布BlueShow v1.0 圖片瀏覽器(類似lightbox)blueshow.js 打包下載
發(fā)布BlueShow v1.0 圖片瀏覽器(類似lightbox)blueshow.js 打包下載...2007-07-07

