Javascript是什么意思?詳解Javascript的組成、功能、特點(diǎn)及使用方式
一、Javascript是什么意思
Javascript(簡(jiǎn)稱(chēng)"JS") 是一種具有函數(shù)優(yōu)先的輕量級(jí),解釋型或即時(shí)編譯型的編程語(yǔ)言。雖然它是作為開(kāi)發(fā)Web頁(yè)面的腳本語(yǔ)言而出名,但是它也被用到了很多非瀏覽器環(huán)境中,Javascript 基于原型編程、多范式的動(dòng)態(tài)腳本語(yǔ)言,并且支持面向?qū)ο蟆⒚钍?、聲明式、函?shù)式編程范式。
Javascript在1995年由Netscape公司的Brendan Eich,在網(wǎng)景導(dǎo)航者瀏覽器上首次設(shè)計(jì)實(shí)現(xiàn)而成。因?yàn)镹etscape與Sun合作,Netscape管理層希望它外觀(guān)看起來(lái)像Java,因此取名為Javascript。但實(shí)際上它的語(yǔ)法風(fēng)格與Self及Scheme較為接近。
Javascript的標(biāo)準(zhǔn)是ECMAScript 。截至 2012 年,所有瀏覽器都完整的支持ECMAScript 5.1,舊版本的瀏覽器至少支持ECMAScript 3 標(biāo)準(zhǔn)。2015年6月17日,ECMA國(guó)際組織發(fā)布了ECMAScript的第六版,該版本正式名稱(chēng)為 ECMAScript 2015,但通常被稱(chēng)為ECMAScript 6 或者ES2015。
二、Javascript的組成
Javascript主要由三部分組成:
1、ECMAScript
ECMAScript前面介紹過(guò)(為統(tǒng)一規(guī)格而指定的標(biāo)準(zhǔn)),Javascript就是基于這個(gè)標(biāo)準(zhǔn)開(kāi)發(fā)的。ECMAScript是Javascript的核心,它規(guī)定了Javascript的數(shù)據(jù)、語(yǔ)法、結(jié)構(gòu)等,簡(jiǎn)單的說(shuō)就是Javascript的代碼該怎么寫(xiě)必須得按ECMAScript的標(biāo)準(zhǔn)來(lái)。
2、DOM(Document Object Model)文檔對(duì)象模型
用來(lái)操作網(wǎng)頁(yè)中的元素。DOM可以操作網(wǎng)頁(yè)(Html或者xml)中的節(jié)點(diǎn),DOM把HTML或者xml描述成一個(gè)多層次的節(jié)點(diǎn)樹(shù)結(jié)構(gòu),比如<body、<div、<a等,而DOM可以操作這些節(jié)點(diǎn) 實(shí)現(xiàn)增刪改查等,通過(guò)操作這些網(wǎng)頁(yè)元素,用戶(hù)可以直觀(guān)的感覺(jué)到所瀏覽的頁(yè)面的變化。
3、BOM(Brower Object Model)瀏覽器對(duì)象模型
通過(guò)提供的API來(lái)獲取瀏覽器信息和操作瀏覽器,例如彈框、輸入網(wǎng)址跳轉(zhuǎn)、打開(kāi)窗口、關(guān)閉窗口等等。BOM的核心和window。
三、Javascript的語(yǔ)言標(biāo)準(zhǔn)
Javascript已經(jīng)被Netscape公司提交給ECMA制定為標(biāo)準(zhǔn),稱(chēng)之為ECMAScript,標(biāo)準(zhǔn)編號(hào)ECMA-262。最新版為ECMAScript 6。符合ECMA-262 3rd Edition標(biāo)準(zhǔn)的實(shí)現(xiàn)有:
1、Microsoft公司的Jscript;
2、Mozilla的JavaScript-C(C語(yǔ)言實(shí)現(xiàn)),現(xiàn)名SpiderMonkey;
3、Mozilla的Rhino(Java實(shí)現(xiàn));
4、Digital Mars公司的DMDScript;
5、Google公司的V8;
6、WebKit。
四、Javascript的運(yùn)行模式
Javascript是一種屬于網(wǎng)絡(luò)的高級(jí)腳本語(yǔ)言,已經(jīng)被廣泛用于Web應(yīng)用開(kāi)發(fā),常用來(lái)為網(wǎng)頁(yè)添加各式各樣的動(dòng)態(tài)功能,為用戶(hù)提供更流暢美觀(guān)的瀏覽效果。通常Javascript腳本是通過(guò)嵌入在HTML中來(lái)實(shí)現(xiàn)自身的功能的。
1、是一種解釋性腳本語(yǔ)言(代碼不進(jìn)行預(yù)編譯)。
2、主要用來(lái)向HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)頁(yè)面添加交互行為。
3、可以直接嵌入HTML頁(yè)面,但寫(xiě)成單獨(dú)的js文件有利于結(jié)構(gòu)和行為的分離。
4、跨平臺(tái)特性,在絕大多數(shù)瀏覽器的支持下,可以在多種平臺(tái)下運(yùn)行(如Windows、Linux、Mac、AndROId、iOS等)。
5、Javascript腳本語(yǔ)言同其他語(yǔ)言一樣,有它自身的基本數(shù)據(jù)類(lèi)型,表達(dá)式和算術(shù)運(yùn)算符及程序的基本程序框架。Javascript提供了四種基本的數(shù)據(jù)類(lèi)型和兩種特殊數(shù)據(jù)類(lèi)型用來(lái)處理數(shù)據(jù)和文字。而變量提供存放信息的地方,表達(dá)式則可以完成較復(fù)雜的信息處理。
五、Javascript的使用方式
Javascript加入網(wǎng)頁(yè)有兩種方法:直接方式和引用方式。
1、直接方式
這是最常用的方法,大部分含有Javascript的網(wǎng)頁(yè)都采用這種方法,例如:
Javascript的使用方式
2、引用方式
如果已經(jīng)存在一個(gè)Javascript源文件(通常以js為擴(kuò)展名),則可以采用這種引用的方式,以提高程序代碼的利用率。其基本格式如下:
<script src="url" type="text/Javascript"></script>
其中的Url就是程序文件的地址。同樣的,這樣的語(yǔ)句可以放在HTML文檔頭部或主體的任何部分。
六、Javascript的功能
1、嵌入動(dòng)態(tài)文本于HTML頁(yè)面;
2、對(duì)瀏覽器事件作出響應(yīng);
3、讀寫(xiě)HTML元素;
4、在數(shù)據(jù)被提交到服務(wù)器之前驗(yàn)證數(shù)據(jù);
5、檢測(cè)訪(fǎng)客的瀏覽器信息;
6、控制Cookies,包括創(chuàng)建和修改等。
七、Javascript的特點(diǎn)
Javascript是一種基于對(duì)象(Object)和事件驅(qū)動(dòng)(EventDriven)并具有安全性能的腳本語(yǔ)言。使用它的目的是與HTML超文本標(biāo)記語(yǔ)言、Java腳本語(yǔ)言(Java小程序)一起實(shí)現(xiàn)在一個(gè)Web頁(yè)面中連接多個(gè)對(duì)象,與Web客戶(hù)交互作用。從而可以開(kāi)發(fā)客戶(hù)端的應(yīng)用程序等。它是通過(guò)嵌入或調(diào)入到標(biāo)準(zhǔn)的HTML語(yǔ)言中實(shí)現(xiàn)的。它的出現(xiàn)彌補(bǔ)了HTML語(yǔ)言的缺陷,它是Java與HTML折衷的選擇,具有以下幾個(gè)基本Javascript特點(diǎn):
1、Javascript是一種腳本編寫(xiě)語(yǔ)言
Javascript是一種腳本語(yǔ)言,它采用小程序段的方式實(shí)現(xiàn)編程。像其它腳本語(yǔ)言一樣,Javascript同樣已是一種解釋性語(yǔ)言,它提供了一個(gè)易的開(kāi)發(fā)過(guò)程。它的基本結(jié)構(gòu)形式與C、C++、VB、Delphi十分類(lèi)似。但它不像這些語(yǔ)言一樣,需要先編譯,而是在程序運(yùn)行過(guò)程中被逐行地解釋。它與HTML標(biāo)識(shí)結(jié)合在一起,從而方便用戶(hù)的使用操作。
2、基于對(duì)象的語(yǔ)言
Javascript是一種基于對(duì)象的語(yǔ)言,同時(shí)以可以看作一種面向?qū)ο蟮摹_@意味著它能運(yùn)用自己已經(jīng)創(chuàng)建的對(duì)象。因此,許多功能可以來(lái)自于腳本環(huán)境中對(duì)象的方法與腳本的相互作用。
3、簡(jiǎn)單性
Javascript的簡(jiǎn)單性主要體現(xiàn)在:首先它是一種基于Java基本語(yǔ)句和控制流之上的簡(jiǎn)單而緊湊的設(shè)計(jì),從而對(duì)于學(xué)習(xí)Java是一種非常好的過(guò)渡。其次它的變量類(lèi)型是采用弱類(lèi)型,并未使用嚴(yán)格的數(shù)據(jù)類(lèi)型。
4、安全性
Javascript特點(diǎn)之一它是一種安全性語(yǔ)言,它不允許訪(fǎng)問(wèn)本地的硬盤(pán),并不能將數(shù)據(jù)存入到服務(wù)器上,不允許對(duì)網(wǎng)絡(luò)文檔進(jìn)行修改和刪除,只能通過(guò)瀏覽器實(shí)現(xiàn)信息瀏覽或動(dòng)態(tài)交互。從而有效地防止數(shù)據(jù)的丟失。
5、動(dòng)態(tài)性的
Javascript特點(diǎn)之一它是動(dòng)態(tài)的,它可以直接對(duì)用戶(hù)或客戶(hù)輸入做出響應(yīng),無(wú)須經(jīng)過(guò)Web服務(wù)程序。它對(duì)用戶(hù)的反映響應(yīng),是采用以事件驅(qū)動(dòng)的方式進(jìn)行的。所謂事件驅(qū)動(dòng),就是指在主頁(yè)(HomePage)中執(zhí)行了某種操作所產(chǎn)生的動(dòng)作,就稱(chēng)為"事件"(Event)。比如按下鼠標(biāo)、移動(dòng)窗口、選擇菜單等都可以視為事件。當(dāng)事件發(fā)生后,可能會(huì)引起相應(yīng)的事件響應(yīng)。
6、跨平臺(tái)性
Javascript是依賴(lài)于瀏覽器本身,與操作環(huán)境無(wú)關(guān),只要能運(yùn)行瀏覽器的計(jì)算機(jī),并支持Javascript的瀏覽器就可正確執(zhí)行。從而實(shí)現(xiàn)了"編寫(xiě)一次,走遍天下"的夢(mèng)想。實(shí)際上Javascript最杰出之處在于可以用很小的程序做大量的事。無(wú)須有高性能的電腦,軟件僅需一個(gè)字處理軟件及一瀏覽器,無(wú)須web服務(wù)器通道,通過(guò)自己的電腦即可完成所有的事情。
八、Javascript和Java有什么區(qū)別
Javascript 編程語(yǔ)言是由 Netscape,Inc. 開(kāi)發(fā)的,它并不是 Java 平臺(tái)的一部分。Javascript 不會(huì)創(chuàng)建小應(yīng)用程序或獨(dú)立應(yīng)用程序。在最常見(jiàn)的形式中,Javascript 駐留在 HTML 文檔中,可提供使用簡(jiǎn)單的 HTML 無(wú)法實(shí)現(xiàn)的各種網(wǎng)頁(yè)交互功能。Java 與 JavaScript 之間的主要區(qū)別:
1、Java是一種真正的面向?qū)ο蟮恼Z(yǔ)言,即使是開(kāi)發(fā)簡(jiǎn)單的程序,必須設(shè)計(jì)對(duì)象;Javascript是種腳本語(yǔ)言,它可以用來(lái)制作與網(wǎng)絡(luò)無(wú)關(guān)的,與用戶(hù)交互作用的復(fù)雜軟件。它是一種基于對(duì)象(Object-Based)和事件驅(qū)動(dòng)(Event-Driven)的編程語(yǔ)言。因而它本身提供了非常豐富的內(nèi)部對(duì)象供設(shè)計(jì)人員使用。
2、Java 創(chuàng)建在虛擬機(jī)或?yàn)g覽器中運(yùn)行的應(yīng)用程序,源代碼在執(zhí)行之前,必須經(jīng)過(guò)編譯;而 JavaScript是一種解釋性編程語(yǔ)言,其源代碼不需經(jīng)過(guò)編譯,Javascript 代碼都在文本中。
3、Java采用強(qiáng)類(lèi)型變量檢查,即所有變量在編譯之前必須作聲明;JavaScript中變量聲明,采用其弱類(lèi)型。即變量在使用前不需作聲明,而是解釋器在運(yùn)行時(shí)檢查其數(shù)據(jù)類(lèi)型
4、它們需要不同的插件。
總結(jié)
優(yōu)化猩SEO:Javascript可以實(shí)現(xiàn)頁(yè)面的效果切換、動(dòng)畫(huà)效果、頁(yè)面游戲等效果,Javascript技術(shù)的應(yīng)用,極大的提升了網(wǎng)站的用戶(hù)體驗(yàn)。
參考鏈接:
JavaScript_百度百科
https://baike.baidu.com/item/Javascript/321142
JavaScript概念及其特點(diǎn)-javascript基本概念
https://developer.51cto.com/article/229052.html
修改于2023-09-09
想了解更多建站百科的內(nèi)容,請(qǐng)?jiān)L問(wèn):建站百科
本文來(lái)源:http://gagu89.com/seojianzhan/17788.html