JavaScript基礎(chǔ)介紹與實(shí)例
一、什么是JavaScript
JavaScript是一種具有面向?qū)ο竽芰Φ?、解釋性的程序設(shè)計(jì)語言。更具體一點(diǎn),它是基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語言。因?yàn)樗恍枰谝粋€(gè)語言環(huán)境下運(yùn)行,而只需要支持它的瀏覽器即可。它的主要目的是:驗(yàn)證發(fā)往服務(wù)器端的數(shù)據(jù)的合法性、增加web互動(dòng)、加強(qiáng)用戶體驗(yàn)度等。
- 基于對(duì)象:JavaScript中內(nèi)置了很多對(duì)象,直接調(diào)用對(duì)象的屬性和方法進(jìn)行操作,簡(jiǎn)化編程。
- 事件驅(qū)動(dòng):程序開始運(yùn)行到結(jié)束,可以一直偵聽事件。
- 解釋性語言:不需要編譯成計(jì)算機(jī)專門去讀的文件,調(diào)用哪塊解釋哪塊,并非一次性編譯。例如:c#就是編譯性語言,如果要運(yùn)行C#語言編寫的程序,就必須先編譯成exe或者dll文件才能運(yùn)行。而JavaScript不需要預(yù)先編譯
- 腳本語言:需要嵌入到別的語言之中,JS需要嵌入在HTML中,單獨(dú)存在沒有意義。
二、JavaScript和ECMAScript的關(guān)系
- ECMAScript是JavaScript的標(biāo)準(zhǔn)和基礎(chǔ)
三、JavaScript特點(diǎn)
1、松散性(弱類型)
JavaScript語言核心與C、C++、Java相似,比如條件判斷、循環(huán)、運(yùn)算符等。但是,它卻是一種松散類型的語言,也就是說,它的變量不必具有一個(gè)明確的類型。(變量無需聲明也可以使用,一個(gè)變量賦值為數(shù)字類型,還可以在賦值為字符串等其它類型)
2、對(duì)象屬性
JavaScript中的對(duì)象把屬性名映射為任意的屬性值。它的這種方式很像哈希表或關(guān)聯(lián)數(shù)組,而不像C中的結(jié)構(gòu)體或者C++、Java中的對(duì)象。
3、繼承機(jī)制
JavaScript中的面向?qū)ο罄^承機(jī)制是基于原型的(原型:最基礎(chǔ)的基類),和C++以及Java中的繼承大不相同(可以子類繼承父類)。
4、嚴(yán)格區(qū)分大小寫。
四、JavaScript組成部分
一個(gè)完整的JavaScript應(yīng)該由下列三個(gè)不同的部分組成:
1、核心(ECMAScript)
- 主要定義了JavaScript的語言基礎(chǔ)部分,各個(gè)瀏覽器都嚴(yán)格遵守該規(guī)范,沒有兼容性問題,ECMAScript規(guī)范由ECMA制訂。組成部分:語法、類型、語句、關(guān)鍵字、保留字、操作符、對(duì)象等。
2、文檔對(duì)象模型(DOM)
- 文檔對(duì)象模型(Document object Model)主要定義了如何將HTML轉(zhuǎn)換成一顆符合DOM規(guī)范的樹,并且如何對(duì)這棵樹進(jìn)行相應(yīng)的操作。該規(guī)范由W3c定義,但是,部分瀏覽器沒有嚴(yán)格遵守該規(guī)范,寫代碼時(shí)需要考慮兼容性問題。
- HTML和XML的應(yīng)用程序接口(API)。
- 把整個(gè)頁面規(guī)劃為層級(jí)式的節(jié)點(diǎn)結(jié)構(gòu)。
3、瀏覽器對(duì)象模型(BOM)
- 瀏覽器對(duì)象模型(Browser Object Model)內(nèi)置了一些對(duì)象,用來操作窗口,這些對(duì)象包括window、screen、location、navigator、document、xmlhttprequet,雖然該部分沒有規(guī)范,但是,各個(gè)瀏覽器都支持這些對(duì)象。開發(fā)人員使用BOM可以控制瀏覽器顯示頁面以外的部分。而BOM真正與眾不同的地方(也是經(jīng)常會(huì)導(dǎo)致問題的地方),還是它作為JavaScript實(shí)現(xiàn)的一部分,至今仍沒有相關(guān)的標(biāo)準(zhǔn)。
可對(duì)瀏覽器窗口進(jìn)行訪問和操作,包括:
- 彈出新的瀏覽器窗口。
- 移動(dòng)、關(guān)閉瀏覽器窗口及調(diào)節(jié)瀏覽器窗口大小。
- 獲取用戶屏幕分辨率的屏幕對(duì)象。
- web瀏覽器詳細(xì)的定位對(duì)象。
五、使用JavaScript
<Script>標(biāo)簽解析
<script>xxx</script>這組標(biāo)簽,是用于在HTML頁面中插入JS的主要方法。它主要有以下幾個(gè)屬性:
- 1、charset:可選。表示通過src屬性指定的字符集。由于大多數(shù)瀏覽器忽略它,所以很少有人用它。
- 2、defer:可選。表示腳本可以延遲到文檔完全被解析和顯示之后再執(zhí)行。由于大多數(shù)瀏覽器不支持,故很少用。
- 3、language:已廢棄。原來用于代碼使用的腳本語言。由于大多數(shù)瀏覽器忽略它,所以不要用了。
- 4、src:可選。表示包含要執(zhí)行代碼的外部文件。
- 5、type:必需??梢钥醋魇莑anguage的替代品。表示代碼使用的腳本語言的內(nèi)容類型。范例:type="text/javascript"
<scripe>標(biāo)簽示例:
<script type="text/javascript"> ?? alert('歡迎來到JavaScript世界!'); </script>
六、JavaScript使用方式:
1、事件定義式:在定義事件時(shí)直接寫入JavaScript腳本。
例如:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>事件定義式</title> </head> <body> <input type="button" value="點(diǎn)擊" onclick="alert('我被點(diǎn)擊了')" /> </body> </html>
效果:
2、直接嵌入式:在網(wǎng)頁中直接嵌入JavaScript。
例如:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>直接嵌入式</title> <script> function btnClick(){ alert("我是寫在head里面的JavaScript"); }; </script> </head> <body> <input type="button" value="點(diǎn)擊" onclick="btnClick()" /> <script> alert("我是寫在body里面的JavaScript"); </script> </body> </html>
效果:
注意:
- 使用直接嵌入式的時(shí)候,JavaScript腳本可以寫在<head>標(biāo)簽里面,也可以寫在<body>標(biāo)簽里面。
3、文件調(diào)用式:在網(wǎng)頁中調(diào)用獨(dú)立的JavaScript文件。把js代碼寫在單獨(dú)的一個(gè)js文件中,通過src屬性引入即可。它具有維護(hù)性高、可緩存(加載一次,無需再次加載)、方便未來擴(kuò)展的特點(diǎn)。
例如:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>文件調(diào)用式</title> <script src="../demo.js"></script> </head> <body> <input type="button" value="點(diǎn)擊" onclick="btnClick()" /> </body> </html>
注意:
- 1、使用外部樣式引入js,雖然沒有任何代碼了,但也不能使用單標(biāo)簽:
<script type="text/javascript" src="demo.js"/> - 2、不能再里面添加任何代碼,添加的代碼執(zhí)行不到
<script type="text/javascript" src="demo.js">alert('我很可憐,因?yàn)閳?zhí)行不到')</script>
到此這篇關(guān)于JavaScript基礎(chǔ)與實(shí)例的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JavaScript學(xué)習(xí)筆記之DOM基礎(chǔ)操作實(shí)例小結(jié)
- JS運(yùn)動(dòng)基礎(chǔ)框架實(shí)例分析
- js對(duì)象基礎(chǔ)實(shí)例分析
- JavaScript基礎(chǔ)教程之a(chǎn)lert彈出提示框?qū)嵗?/a>
- JavaScript基礎(chǔ)篇之變量作用域、傳值、傳址的簡(jiǎn)單介紹與實(shí)例
- Javascript & DHTML 實(shí)例編程(教程)DOM基礎(chǔ)和基本API
- Javascript & DHTML 實(shí)例編程(教程)基礎(chǔ)知識(shí)
- JavaScript基礎(chǔ)之靜態(tài)方法和實(shí)例方法分析
相關(guān)文章
javascript中的throttle和debounce淺析
這篇文章主要介紹了javascript中的throttle和debounce淺析,分別介紹了throttle和debounce的使用場(chǎng)景及具體案例,需要的朋友可以參考下2014-06-06Node.js生成HttpStatusCode輔助類發(fā)布到npm
本篇文章小編為大家介紹利用Node.js為Node.js生成HttpStatusCode輔助類并發(fā)布到npm,有需要的朋友可以參考一下2013-04-04深入解析JavaScript編程中的this關(guān)鍵字使用
這篇文章主要介紹了深入解析JavaScript編程中的this關(guān)鍵字使用,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-11-11javascript學(xué)習(xí)筆記(三) String 字符串類型介紹
javascript學(xué)習(xí)筆記之String 字符串類型介紹,這里介紹的是js字符串處理常用函數(shù)2012-06-06JavaScript展開操作符(Spread operator)詳解
在本篇文章里小編給大家整理的是關(guān)于JavaScript展開操作符(Spread operator)的詳細(xì)介紹以及用法,需要的讀者們參考下。2019-07-07JavaScript中幾種排序算法的簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要介紹了JavaScript中幾種排序算法的簡(jiǎn)單實(shí)現(xiàn),排序是各種編程語言學(xué)習(xí)中都是共通的必會(huì)的基礎(chǔ),需要的朋友可以參考下2015-07-07Javascript基礎(chǔ)教程之?dāng)?shù)據(jù)類型 (數(shù)值 Number)
本文講述的是javascript中九種數(shù)據(jù)類型的第二種--數(shù)值(Number),使用非常簡(jiǎn)單,這里推薦給小伙伴們。2015-01-01