摘要:一經(jīng)發(fā)布,關(guān)注度就居高不下,這也引起了當(dāng)時(shí)的巨頭微軟的注意。微軟為了搶占瀏覽器的市場(chǎng)份額,在年月便在其發(fā)布的中搭載了其對(duì)的實(shí)現(xiàn)。
JavaScript誕生于1995年,最初的想法就是在人們提交表單的時(shí)候,提前做一些驗(yàn)證,提高用戶體驗(yàn)。試想一下,再那個(gè)年代,因?yàn)榫W(wǎng)速很慢,提交個(gè)表單,可能要等待20幾秒,再等待這么長(zhǎng)的時(shí)間之后,服務(wù)器返回消息說(shuō)有一個(gè)必填字段沒有填......,介于此,Netscape的大佬覺得是時(shí)候解決一下這個(gè)令人蛋疼的事情了。
JavaScript原本是打算叫l(wèi)iveScript的,但怕這名字不夠響亮,于是就想借著java的熱潮,搭搭熱炒java的順風(fēng)車,改名叫了JavaScript。JavaScript一經(jīng)發(fā)布,關(guān)注度就居高不下,這也引起了當(dāng)時(shí)的巨頭微軟的注意。微軟為了搶占瀏覽器的市場(chǎng)份額,在96年8月便在其發(fā)布的Internet Explorer 3中搭載了其對(duì)JavaScript的實(shí)現(xiàn)——JScript。微軟JScript的推出,便意味著市場(chǎng)上就有兩套JavaScript的實(shí)現(xiàn)語(yǔ)言了(這里的JavaScript指的是一套語(yǔ)言規(guī)范,微軟的JScript和Netscape的JavaScript都是對(duì)這套規(guī)范的實(shí)現(xiàn))。因?yàn)楫?dāng)時(shí)還沒有標(biāo)準(zhǔn)規(guī)定JavaScript語(yǔ)言的語(yǔ)法和特性,微軟和Netscape的實(shí)現(xiàn)方法有著很多的差異,導(dǎo)致了很多問(wèn)題,比如只編寫一套代碼,很難在兩個(gè)平臺(tái)完美運(yùn)行。所以TC39協(xié)會(huì)在97年定義出了名叫ECMScript的新腳本語(yǔ)言規(guī)范。從此瀏覽器開發(fā)商就開始致力于將ECMScript作為各自JavaScript實(shí)現(xiàn)的基礎(chǔ)。
JavaScript不僅是對(duì)于ECMScript的實(shí)現(xiàn),它還對(duì)其進(jìn)行了擴(kuò)展,加入了DOM和BOM接口。加入DOM,是為了能再不刷新頁(yè)面的情況下就能改變頁(yè)面的內(nèi)容和外觀。加入BOM,一是為了提供Global對(duì)象,承載所有的全局變量,二是為了提供訪問(wèn)和操作瀏覽器的接口。所以我們所說(shuō)的JavaScript其實(shí)是由ECMScript,DOM,BOM三部分構(gòu)成的。我們所說(shuō)的js的兼容性問(wèn)題一般都是由于由于各個(gè)瀏覽器廠商對(duì)于DOM,BOM的實(shí)現(xiàn)方式不一樣造成的(尤其是IE),并且各個(gè)瀏覽器還都有自己獨(dú)有的針對(duì)DOM的擴(kuò)展。
ECMAScript版本:
1.ECMAScript第一版是根據(jù)Netscape發(fā)布的JavaScript1.1 指定的,本質(zhì)上與JavaScript1.1相同, 只是刪除了所有針對(duì)Netscape瀏覽器特有的代碼,以及做了一些小改動(dòng)
2.ECMAScript第二版主要是對(duì)第一版的編輯加工,沒有做任何的新增,修改,刪除
3.ECMAScript第三版才算是對(duì)ECMAScript的第一次真正修改,修改的內(nèi)容涉及字符串處理,錯(cuò)誤處理和數(shù)值輸 出,這一版還新增了對(duì)正則表達(dá)式,控制語(yǔ)句等的支持
4.ECMAScript第四版因?yàn)楦膭?dòng)太大而流產(chǎn),同時(shí)出現(xiàn)了ECMAScript3.1的替代性提案
5.因?yàn)榈谒陌媪鳟a(chǎn),ECMAScript3.1作為了ECMAScript第5版發(fā)布,此版本新增了一些新功能,比如原生的JSON對(duì)象, 繼承的方法,并且消除了第三版中存在的一些歧義
6.基于流產(chǎn)的第四版并且經(jīng)過(guò)多年的重新打磨與完善,全新的ES2015年閃亮登場(chǎng),從此ES開始改為以年份命名,比如現(xiàn)在的ES2016,ES2017。ES6是ES2015以及之后ECMAScript的統(tǒng)稱。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/96187.html
摘要:在日益流行期間,一經(jīng)發(fā)布就取得了巨大的成功,于此同時(shí)微軟決定在瀏覽器中投入更多的資源,然后微軟就在其瀏覽器中加入了名為。微軟推出其這就意味著有了兩個(gè)不同版本的,與其它編程語(yǔ)言不同,當(dāng)時(shí)還沒有標(biāo)準(zhǔn)的規(guī)定。 「 JavaScript 」 誕生于 1995年,當(dāng)時(shí)主要是用于處理由服務(wù)器負(fù)責(zé)的一些輸入驗(yàn)證操作。 在 「 JavaScript 」為誕生之前,必須要把表單數(shù)據(jù)發(fā)送到服務(wù)端,然后等到...
摘要:模塊演化簡(jiǎn)史從屬于筆者的開發(fā)基礎(chǔ)與工程實(shí)踐。首個(gè)采樣該設(shè)計(jì)模式的界面庫(kù)當(dāng)屬,其是創(chuàng)建于年。允許我們定義模塊,并且在顯式地聲明其依賴模塊而由框架完成自動(dòng)注入。而最后的模塊化規(guī)范定義于年正式發(fā)布,也就是被命名為。 JavaScript 模塊演化簡(jiǎn)史 從屬于筆者的 Web 開發(fā)基礎(chǔ)與工程實(shí)踐。本文主要總結(jié)自 The Evolution of JavaScript Modularity、Nat...
摘要:如何看待人工智能的本質(zhì)人工智能的飛速發(fā)展又經(jīng)歷了哪些歷程本文就從技術(shù)角度為大家介紹人工智能領(lǐng)域經(jīng)常提到的幾大概念與發(fā)展簡(jiǎn)史。一人工智能相關(guān)概念人工智能就是讓機(jī)器像人一樣的智能會(huì)思考是機(jī)器學(xué)習(xí)深度學(xué)習(xí)在實(shí)踐中的應(yīng)用。 作為近幾年的一大熱詞,人工智能一直是科技圈不可忽視的一大風(fēng)口。隨著智能硬件的迭代,智能家居產(chǎn)品逐步走進(jìn)千家萬(wàn)戶,語(yǔ)音識(shí)別、圖像識(shí)別等AI相關(guān)技術(shù)也經(jīng)歷了階梯式發(fā)展。如何看待...
閱讀 949·2021-11-23 09:51
閱讀 1012·2021-11-18 10:02
閱讀 1945·2021-09-10 11:27
閱讀 3159·2021-09-10 10:51
閱讀 794·2019-08-29 15:13
閱讀 2079·2019-08-29 11:32
閱讀 2513·2019-08-29 11:25
閱讀 3059·2019-08-26 11:46