JavaScript是一種屬于網(wǎng)絡(luò)的高級(jí)腳本語言,已經(jīng)被廣泛用于Web應(yīng)用開發(fā),常用來為網(wǎng)頁添加各式各樣的動(dòng)態(tài)功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實(shí)現(xiàn)自身的功能的。
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、靈川網(wǎng)絡(luò)推廣、小程序制作、靈川網(wǎng)絡(luò)營銷、靈川企業(yè)策劃、靈川品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供靈川建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
JavaScript作為賦予網(wǎng)頁生命的前端基礎(chǔ)技術(shù),它可以實(shí)現(xiàn)相應(yīng)的效果和交互,是前端開發(fā)不可或缺的基本配置之一,今天來就來了解一下JavaScript的前世今生。具體內(nèi)容包括JavaScript的誕生、語言版本的更迭以及應(yīng)用領(lǐng)域等等。讓大家在入門開始學(xué)習(xí)JavaScript之前,對(duì)JavaScript的發(fā)展歷史有一個(gè)大致的了解。
1、JavaScript的誕生
JavaScript誕生于1995年,當(dāng)時(shí),它的主要目的是處理以前由服務(wù)器端需要負(fù)責(zé)的一些沒有輸入驗(yàn)證操作。在JavaScript問世之前,必須把表單數(shù)據(jù)發(fā)送到服務(wù)器端才能確定用戶是否沒有填寫某個(gè)必填域,是否輸入了無效的值。Netscape Navigator希望通過JavaScript來解決這個(gè)問題。在人們普遍使用電話撥號(hào)上網(wǎng)的時(shí)代,能夠在客戶端完成一些基本的驗(yàn)證任務(wù)絕對(duì)是令人興奮的。畢竟,撥號(hào)上網(wǎng)速度之慢,導(dǎo)致了與服務(wù)器的每一次數(shù)據(jù)交換事實(shí)上都成了對(duì)人們耐心的一次考驗(yàn)。由此誕生了JavaScript!
JavaScript在1995年2月一經(jīng)發(fā)布就獲得了巨大的成功,Netscape隨后在Netscape Navigator 3(網(wǎng)景瀏覽器)中發(fā)布了JavaScript 1.1版本。JavaScript發(fā)展至今不斷迭代,已經(jīng)取得了偉大成就;但是JavaScript是由公司開發(fā)而成的,不便于其他公司拓展和使用,同時(shí)JavaScript開發(fā)者也在豐富自己的代碼和選擇使用框架方式,讓JavaScript運(yùn)行在標(biāo)準(zhǔn)兼容的、無障礙的網(wǎng)頁中。
2、JavaScript的定義
JavaScript是一種在網(wǎng)絡(luò)瀏覽器上運(yùn)行的編程語言,這種編程語言我們稱之為腳本。而腳本語言是在瀏覽器執(zhí)行的語言,是一段程序,不是軟件。腳本語言可以添加到使用HTML和CSS構(gòu)建的網(wǎng)站中,在頁面加載時(shí)會(huì)自動(dòng)執(zhí)行,并在實(shí)現(xiàn)各種頁面動(dòng)態(tài)效果、交互方面發(fā)揮重要的作用;例如,在購物網(wǎng)站購物時(shí),購物車的使用和成本估算就需要JavaScript,如果沒有JavaScript就無法完成結(jié)算,購物車的各項(xiàng)操作將無法實(shí)現(xiàn)。
3、JavaScript語言版本更迭
為了讓JavaScript能夠運(yùn)行在標(biāo)準(zhǔn)兼容的、無障礙的網(wǎng)頁中,也就是需要解決JavaScript的兼容問題;因此,歐洲計(jì)算機(jī)制造商協(xié)會(huì)ECMA牽頭制定JavaScript標(biāo)準(zhǔn),取名為ECMAScript,至此,JavaScript 的核心語言ECMAScript產(chǎn)生。ECMAScript 是一門由 ECMA TC39 委員會(huì)標(biāo)準(zhǔn)化的編程語言,其規(guī)定了JavaScript的編程語法和基礎(chǔ)核心知識(shí),是所有瀏覽器廠商共同遵守的一套JavaScript語法工業(yè)標(biāo)準(zhǔn)。其在1997年正式發(fā)布第一版,歷經(jīng)十?dāng)?shù)年的迭代更新,于2018年發(fā)布了ECMAScript 8,其功能空前強(qiáng)大,增加了更加豐富的新特性。JavaScript語言版本更迭的發(fā)展歷史如下
4、JavaScript的應(yīng)用領(lǐng)域
經(jīng)過多年發(fā)展,JavaScript成為現(xiàn)代技術(shù)世界中最受歡迎和增長最快的編程語言之一,同時(shí)成為前端開發(fā)人員的最愛。那么,為什么JavaScript能夠有如此高的熱度呢?因?yàn)镴avaScript有著豐富的用途,幾乎所有瀏覽器都支持它,是互聯(lián)網(wǎng)上最流行的腳本語言。只要是稍微對(duì)前端感興趣,你肯定聽說過“大前端”,“全端”,JavaScript 完全符合這一趨勢(shì),JavaScript可以寫前端、后端、客戶端,甚至可以寫各式應(yīng)用以及操作系統(tǒng)!下面這張圖表示JavaScript的實(shí)際使用功能與領(lǐng)域:
回顧JavaScript的發(fā)展歷史,JavaScript可運(yùn)行在所有主要平臺(tái)的所有主流瀏覽器上,也可運(yùn)行在每一個(gè)主流操作系統(tǒng)的服務(wù)器端,足以證明JavaScript無處不在的魅力。
JavaScript(簡(jiǎn)稱js),是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語言。同時(shí)也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML網(wǎng)頁添加動(dòng)態(tài)功能,比如響應(yīng)用戶的各種操作。它最初由網(wǎng)景公司(Netscape)的Brendan Eich設(shè)計(jì),是一種動(dòng)態(tài)、弱類型、基于原型的語言,內(nèi)置支持類。
因?yàn)镹etscape與Sun合作,Netscape管理層希望它外觀看起來像Java,因此取名為JavaScript。
在網(wǎng)頁里面,js主要有兩種實(shí)現(xiàn)方式,一是直接在網(wǎng)頁中使用script 和 /script,在標(biāo)簽中間寫入js語言,script 和 /script 會(huì)告訴 JavaScript 在何處開始和結(jié)束。二是把腳本保存到外部文件中,外部 JavaScript 文件的文件擴(kuò)展名是 .js。然后使用script src="myScript.js"/script引入外部文件,src屬性中設(shè)置js路徑。
js的主要特點(diǎn)是:
一、js是一種解釋性腳本語言(代碼不進(jìn)行預(yù)編譯);
二、主要用來向HTML頁面添加交互行為;
三、可以直接嵌入HTML頁面,但寫成單獨(dú)的js文件有利于結(jié)構(gòu)和行為的分離。
js的主要功能有:
(1) 嵌入動(dòng)態(tài)文本于HTML頁面
(2) 對(duì)瀏覽器事件作出響應(yīng)
(3) 讀寫HTML元素
(4) 在數(shù)據(jù)被提交到服務(wù)器之前驗(yàn)證數(shù)據(jù)
(5) 檢測(cè)訪客的瀏覽器信息
(6) 控制cookies,包括創(chuàng)建和修改等
JavaScript誕生于1995年。起初它的主要目的是處理以前由服務(wù)器端負(fù)責(zé)的一些表單驗(yàn)證。在那個(gè)絕大多數(shù)用戶都在使用調(diào)制解調(diào)器上網(wǎng)的時(shí)代,用戶填寫完一個(gè)表單點(diǎn)擊提交,需要等待幾十秒,完了服務(wù)器反饋給你說某個(gè)地方填錯(cuò)了......在當(dāng)時(shí)如果能在客戶端完成一些基本的驗(yàn)證絕對(duì)是令人興奮的。當(dāng)時(shí)走在技術(shù)革新最前沿的Netscape(網(wǎng)景)公司,決定著手開發(fā)一種客戶端語言,用來處理這種裝簡(jiǎn)單的驗(yàn)證。當(dāng)時(shí)就職于Netscape公司的布蘭登·艾奇開始著手計(jì)劃將1995年2月發(fā)布的LiveScript同時(shí)在瀏覽器和服務(wù)器中使用。為了趕在發(fā)布日期前完成LiveScript的開發(fā),Netscape與Sun公司成立了一個(gè)開發(fā)聯(lián)盟。而此時(shí),Netscape為了搭上媒體熱炒Java的順風(fēng)車,臨時(shí)把LiveScript改名為JavaScript,所以從本質(zhì)上來說JavaScript和Java沒什么關(guān)系。
JavaScript 1.0獲得了巨大的成功,Netscape隨后在Netscape Navigator 3(網(wǎng)景瀏覽器)中發(fā)布了JavaScript 1.1。之后作為競(jìng)爭(zhēng)對(duì)手的微軟在自家的IE3中加入了名為JScript(名稱不同是為了避免侵權(quán))的JavaScript實(shí)現(xiàn)。而此時(shí)市面上意味著有3個(gè)不同的JavaScript版本,IE的JScript、網(wǎng)景的JavaScript和ScriptEase中的CEnvi。當(dāng)時(shí)還沒有標(biāo)準(zhǔn)規(guī)定JavaScript的語法和特性。隨著版本不同暴露的問題日益加劇,JavaScript的規(guī)范化最終被提上日程。
1997年,以JavaScript1.1為藍(lán)本的建議被提交給了歐洲計(jì)算機(jī)制造商協(xié)會(huì)(ECMA,European Computer Manufactures Association)該協(xié)會(huì)指定39號(hào)技術(shù)委員會(huì)負(fù)責(zé)將其進(jìn)行標(biāo)準(zhǔn)化,TC39來此各大公司以及其他關(guān)注腳本語言發(fā)展的公司的程序員組成,經(jīng)過數(shù)月的努力完成了ECMA-262——定義了一種名為ECMAScript的新腳本語言的標(biāo)準(zhǔn)。第二年,ISO/IEC(國標(biāo)標(biāo)準(zhǔn)化組織和國際電工委員會(huì))也采用了ECMAScript作為標(biāo)準(zhǔn)(即ISO/IEC-16262)。
JavaScript是一種面向?qū)ο蠛突谑录?qū)動(dòng)的腳本語言,誕生于1995年,主要用于處理網(wǎng)頁中的前端驗(yàn)證,使得網(wǎng)頁瀏覽更為流暢。最初由網(wǎng)景(Netscape)公司的Brendan·Eich(布蘭登·艾奇)設(shè)計(jì)開發(fā),起初命名為LiveScript(伴隨Navigator 2瀏覽器發(fā)布),后來由于Sun公司的介入更名為JavaScript。
JavaScript雖然在命名上和Java有關(guān)系,但是它并不是Java的衍生品,只是在語法上類似Java。
計(jì)算機(jī)只識(shí)別一種語言,那就是機(jī)器碼,那些形形色色的高級(jí)語言,都是給人使用的,并不是給電腦看的!這點(diǎn)一定要搞清楚!因?yàn)槿瞬豢赡苤苯虞斎霗C(jī)器碼,所以就需要通過高級(jí)語言寫好代碼,然后通過編譯器轉(zhuǎn)為機(jī)器碼(編譯型語言如C、C++、VB等等采用的是這種方式),或者用軟件實(shí)時(shí)解析為機(jī)器碼(腳本類語言如JavaScript就是這種方式)。
因此,所謂新語言的誕生,完全是為了方便人類更方便高效地編制程序,但是如果編的程序沒有編譯或解析為機(jī)器碼,電腦是不可能認(rèn)識(shí)它的,更談不上理解了。
最接近機(jī)器碼的語言應(yīng)該是匯編語言,但它仍然不是計(jì)算機(jī)能夠直接識(shí)別的語言哦(其實(shí)“計(jì)算機(jī)識(shí)別的語言”這種提法也是有問題的,準(zhǔn)確的說法應(yīng)該是“計(jì)算機(jī)識(shí)別的指令”)
再次強(qiáng)調(diào):程序設(shè)計(jì)語言是供程序員使用的,并不是給電腦看(或者說識(shí)別)的,程序員利用程序設(shè)計(jì)語言寫出來的那些整齊的、漂亮的程序代碼,離實(shí)際可供計(jì)算機(jī)執(zhí)行的指令代碼還差著十萬八千里呢!所謂語言的語法、特征等等這些東西,與計(jì)算機(jī)本身也不存在半毛錢關(guān)系!
要想知道機(jī)器碼什么樣,用一個(gè)可進(jìn)行16進(jìn)制編輯的編輯器(UltraEdit、EditPlus等)打開一個(gè)EXE可執(zhí)行文件就知道了。而且這些代碼在內(nèi)存和硬盤中是以二進(jìn)制方式儲(chǔ)存的,這也就是為什么說計(jì)算機(jī)只識(shí)別0和1這兩個(gè)數(shù)字的原因了,這不是調(diào)侃,而是事實(shí)!
Javascript是一種由Netscape的LiveScript發(fā)展而來的腳本語言,主要目的是為了解決服務(wù)器終端語言,比如Perl,遺留的速度問題。當(dāng)時(shí)服務(wù)端需要對(duì)數(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)證的基本功能。
歷史
在1992年,Nombas開始開發(fā)一種嵌入式腳本語言,叫做C-minus-minus(Cmm)。[待續(xù)...
能夠具有交互性,能夠包含更多活躍的元素,就有必要在網(wǎng)頁中嵌入其它的技術(shù)。如:Javascript、VBScript、Document Object Model(文件目標(biāo)模塊)、Layers和 Cascading Style Sheets(CSS),這里主要講Javascript。那么Javascript是什么東東?Javascript就是適應(yīng)動(dòng)態(tài)網(wǎng)頁制作的需要而誕生的一種新的編程語言,如今越來越廣泛地使用于Internet網(wǎng)頁制作上。 Javascript是由 Netscape公司開發(fā)的一種腳本語言(scripting language),或者稱為描述語言。在HTML基礎(chǔ)上,使用Javascript可以開發(fā)交互式Web網(wǎng)頁。Javascript的出現(xiàn)使得網(wǎng)頁和用戶之間實(shí)現(xiàn)了一種實(shí)時(shí)性的、動(dòng)態(tài)的、交互性的關(guān)系,使網(wǎng)頁包含更多活躍的元素和更加精彩的內(nèi)容。 運(yùn)行用Javascript編寫的程序需要能支持Javascript語言的瀏覽器。Netscape公司 Navigator 3.0以上版本的瀏覽器都能支持 Javascript程序,微軟公司 Internet Explorer 3.0以上版本的瀏覽器基本上支持Javascript。微軟公司還有自己開發(fā)的Javascript,稱為JScript。 Javascript和Jscript基本上是相同的,只是在一些細(xì)節(jié)上有出入。 Javascript短小精悍, 又是在客戶機(jī)上執(zhí)行的,大大提高了網(wǎng)頁的瀏覽速度和交互能力。 同時(shí)它又是專門為制作Web網(wǎng)頁而量身定做的一種簡(jiǎn)單的編程語言。
雖然,在Dreamweaver的Behaviors可以為我們方便地使用Javascript程序而不用編寫代碼,但我們自己了解了Javascript的編程方法后,將能更加方便靈活地應(yīng)用,也使Javascript的代碼更簡(jiǎn)練。本專題通過對(duì)一系列典型程序的剖析,使你快速地掌握J(rèn)avascript的編程技巧,設(shè)計(jì)出質(zhì)量上乘的動(dòng)態(tài)網(wǎng)頁打下堅(jiān)實(shí)的基礎(chǔ)。在此之前,我們先了解一些Javascript 的基本概念。
JavaScript 有什么特點(diǎn)
JavaScript 使網(wǎng)頁增加互動(dòng)性。JavaScript 使有規(guī)律地重復(fù)的HTML文段簡(jiǎn)化,減少下載時(shí)間。JavaScript 能及時(shí)響應(yīng)用戶的操作,對(duì)提交表單做即時(shí)的檢查,無需浪費(fèi)時(shí)間交由 CGI 驗(yàn)證。JavaScript 的特點(diǎn)是無窮無盡的,只要你有創(chuàng)意。
Java 與 JavaScript 有什么不同
很多人看到 Java 和 JavaScript 都有“Java”四個(gè)字,就以為它們是同一樣?xùn)|西,連我自己當(dāng)初也是這樣。其實(shí)它們是完完全全不同的兩種東西。Java,全稱應(yīng)該是 Java Applet,是嵌在網(wǎng)頁中,而又有自己獨(dú)立的運(yùn)行窗口的小程序。Java Applet 是預(yù)先編譯好的,一個(gè) Applet 文件(.class)用 Notepad 打開閱讀,根本不能理解。Java Applet 的功能很強(qiáng)大,可以訪問 http、ftp等協(xié)議,甚至可以在電腦上種病毒(已有先例了)。相比之下,JavaScript 的能力就比較小了。JavaScript 是一種“腳本”(“Script”),它直接把代碼寫到 HTML 文檔中,瀏覽器讀取它們的時(shí)候才進(jìn)行編譯、執(zhí)行,所以能查看 HTML 源文件就能查看JavaScript 源代碼。JavaScript 沒有獨(dú)立的運(yùn)行窗口,瀏覽器當(dāng)前窗口就是它的運(yùn)行窗口。它們的相同點(diǎn),我想只有同是以 Java 作編程語言一點(diǎn)了。
開發(fā) JavaScript 該用什么軟件
一個(gè) JavaScript 程序其實(shí)是一個(gè)文檔,一個(gè)文本文件。它是嵌入到 HTML 文檔中的。所以,任何可以編寫 HTML 文檔的軟件都可以用來開發(fā) JavaScript。在此我推薦大家用 FrontPage 2000 附帶的 Microsoft 腳本編輯器(在 FrontPage 菜單 | 工具 | 宏 | Microsoft 腳本編輯器)。它是個(gè)像 Visual Basic / C++ 一樣的程序開發(fā)器,能對(duì)正在輸入的語句作出簡(jiǎn)要提示。配合 FrontPage 2000,使工作量大大減少。
一、Javascript在網(wǎng)頁的用法
Javascript加入網(wǎng)頁有兩種方法:
1、直接加入HTML文檔
這是最常用的方法,大部分含有Javascript的網(wǎng)頁都采用這種方法,如:
script language="Javascript"
!--
document.writeln("這是Javascript!采用直接插入的方法!");
//-Javascript結(jié)束--
/script
在這個(gè)例子中,我們可看到一個(gè)新的標(biāo)簽: script……/script,而script language="Javascript” 用來告訴瀏覽器這是用Javascript編寫的程序,需要調(diào)動(dòng)相應(yīng)的解釋程序進(jìn)行解釋。
HTML的注釋標(biāo)簽!--和--:用來去掉瀏覽器所不能識(shí)別的Javascript源代碼的,這對(duì)不支持 Javascript 語言的瀏覽器來說是很有用的。
//-Javascript結(jié)束:雙斜杠表示 Javascript的注釋部分,即從//開始到行尾的字符都被忽略。 至于程序中所用到的document.write()函數(shù)則表示將括號(hào)中的文字輸出到窗口中去, 這在后面將會(huì)詳細(xì)介紹。 另外一點(diǎn)需要注意的是,script……/script的位置并不是固定的,可以包含在head....../head 或body...../body中的任何地方。
2、引用方式 如果已經(jīng)存在一個(gè)Javascript源文件(以js為擴(kuò)展名),則可以采用這種引用的方式,以提高程序代碼的利用率。其基本格式如下:
script src=url language="Javascript"/script
其中的Url就是程序文件的地址。同樣的,這樣的語句可以放在HTML文檔頭部或主體的任何部分。 如果要實(shí)現(xiàn)“直接插入方式”中所舉例子的效果,可以首先創(chuàng)建一個(gè)Javascript源代碼文件“Script.js”,其內(nèi)容如下:
document.writeln("這是Javascript!采用直接插入的方法!");
在網(wǎng)頁中可以這樣調(diào)用程序:script src="Script.js" language="Javascript"/script 。
二、Javascript基本概念
在這里只作簡(jiǎn)單介紹,在以后的例子中結(jié)程序再作具體解釋其作用。
1、運(yùn)算符
運(yùn)算符就是完成操和的一系列符號(hào),它有七類:
賦值運(yùn)算符、算術(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、條件運(yùn)算、位操作運(yùn)算符和字符串運(yùn)算符。
2、表達(dá)式
運(yùn)算符和操作數(shù)的組合稱為表達(dá)式,通常分為四類:賦值表達(dá)式、算術(shù)表達(dá)式、布爾表達(dá)式和字符串表達(dá)式。
3、語句
Javascript程序是由若干語句組成的,語句是編寫程序的指令。Javascript提供了完整的基本編程語句,它們是:
賦值語句、switch選擇語句、while循環(huán)語句、for循環(huán)語句、do while循環(huán)語句、break循環(huán)中止語句和continue循環(huán)中斷語句。
4、函數(shù)
函數(shù)是命名的語句段,這個(gè)語句段可以被當(dāng)作一個(gè)整體來引用不著和執(zhí)行。使用函數(shù)要注意以下幾點(diǎn):
1)函數(shù)由關(guān)鍵字function定義;
2)函數(shù)必須先定義后使用,否則將出錯(cuò);
3)函數(shù)名是調(diào)用函數(shù)時(shí)引用的名稱,它對(duì)大小寫是敏感的,調(diào)用函數(shù)時(shí)不可寫錯(cuò)函數(shù)名;
4)參數(shù)表示傳遞給函數(shù)使用或操作的值,它可以是常量,也可以是變量;
5)return語句用于返回表達(dá)式的值,也可以沒有。
5、對(duì)象
Javascript的一個(gè)重要功能就是基于對(duì)象的功能,通過基于對(duì)象的程序設(shè)計(jì),可以用更直觀、模塊化和可重復(fù)使用的方式進(jìn)行程序開發(fā)。
一組包含數(shù)據(jù)的屬性和對(duì)屬性中包含數(shù)據(jù)進(jìn)行操作的方法,稱為對(duì)象。比如要設(shè)定網(wǎng)頁的背景顏色,所針對(duì)的對(duì)象就是document,所用的屬性名是bgcolor,如document.bgcolor="blue",就是表示使背景的顏色為藍(lán)色。
6、事件
用戶與網(wǎng)頁交互時(shí)產(chǎn)生的操作,稱為事件。絕大部分事都由用戶的動(dòng)作所引發(fā),如:用戶按鼠標(biāo)的按鈕,就產(chǎn)生onclick事件,若鼠標(biāo)的指針的鏈接上移動(dòng),就產(chǎn)生onmouseover事件等等。在Javascript中,事件往往與事件處理程序配套使用。
學(xué)習(xí)Javascript比較快速有效的方法是先熟悉一些基本概念,然后找?guī)讉€(gè)別人設(shè)計(jì)好的程序認(rèn)真仔細(xì)地分析一遍,再稍作改動(dòng),再看看能否達(dá)到預(yù)期目的,不斷地舉一反三,既可以加深對(duì)一些參數(shù)、設(shè)計(jì)方法的理解,又可以快速地提高自己的水平。另外,再提醒一下:Javascript對(duì)大小寫是敏感的,特別是一些對(duì)象、方法、屬性的大小寫一定要一致,要養(yǎng)成一種良好的習(xí)慣,否則在調(diào)試程序時(shí)可要累死你了。
7、變量
如 var myVariable = "some value";