整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          什么是 Javascript?

          習(xí)目標(biāo),了解Javascript起源:從哪里來,如何發(fā)展,現(xiàn)況。

          內(nèi)容涉及Javascript與ECMAScript的關(guān)系、DOM、BOM、以及Ecma和W3C相關(guān)的標(biāo)準(zhǔn)。

          歷史回顧

          1995年,網(wǎng)景公司一名叫BrendanEich的工程師為NetscapeNavigator2開發(fā)的叫Mocha(后來改名為L(zhǎng)iveScript)的腳本語言(它在服務(wù)器上叫做LiveWire)。

          為趕上進(jìn)度,Netscape與Sun公司合作開發(fā)LiveScript并最終改名為JavaScript(為搭上當(dāng)時(shí)Java熱潮的順風(fēng)車)。

          1997年JavaScript1.1作為提案提交給歐洲計(jì)算機(jī)制造商協(xié)會(huì)(Ecma),由第39技術(shù)委員會(huì)(T39)承擔(dān)了標(biāo)準(zhǔn)化JavaScript的任務(wù)(參見T39-ECMAScript),他們花了數(shù)月時(shí)間打造出ECMA-262,也就是ECMAScript這個(gè)新的腳本語言標(biāo)準(zhǔn)。

          1998年,國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電工委員會(huì)(IEC)也將ECMAScript采納為標(biāo)準(zhǔn)。

          從此之后各家瀏覽器廠商都將ECMAScript作為自己JavaScript實(shí)現(xiàn)依據(jù),雖然各家都有各自的不同。

          JavaScript的實(shí)現(xiàn)

          完整的JavaScript不限于ECMA-262所定義的那樣。它的結(jié)構(gòu)包含如下:

          核心(ECMAScript):

          它只是一準(zhǔn)腳本語言的規(guī)范標(biāo)準(zhǔn),本身并不局限于Web瀏覽器。

          ECMA-262定義了語言的:語法、類型、語句、關(guān)鍵字、保留字、操作符和全局對(duì)象,它甚至沒有規(guī)定語言的輸入輸出。

          和JavaScript一樣Adobe ActionScript同樣也實(shí)現(xiàn)了ECMAScript.

          ECMAScript版本

          2019年,ECMAScript發(fā)展到第10版。


          文檔對(duì)象模型(DOM)

          是一個(gè)應(yīng)用編程接口(API),用于在HTML中使用擴(kuò)展的XML。

          DOM將整個(gè)頁面抽象為一組分層節(jié)點(diǎn)。HTML或XML頁面的每個(gè)組成部分都是一種節(jié)點(diǎn),包含不同的數(shù)據(jù)。

          DOM通過創(chuàng)建表示文檔的樹,讓開發(fā)者可以隨心所欲地控制王爺?shù)膬?nèi)容和結(jié)構(gòu)。使用DOPMAPI 可以刪除、添加、替換、修改節(jié)點(diǎn)。

          為保持Web的跨平臺(tái)性W3C開始了指定DOM標(biāo)準(zhǔn)的進(jìn)程。

          瀏覽器對(duì)象模型(BOM)

          使用BOM,開發(fā)者可以操控瀏覽器顯示頁面之外的部分。

          BOM的問題在于他沒有制定相關(guān)標(biāo)準(zhǔn),而HTML5補(bǔ)足了這一點(diǎn),它以正是規(guī)范的形式涵蓋了盡可能多的BOM特性。

          BOM主要針對(duì)瀏覽器窗口和子窗口(frame),人們把任何瀏覽器的擴(kuò)展都?xì)w在BOM的范疇。


          頁的基石是內(nèi)容,而內(nèi)容在網(wǎng)頁上的呈現(xiàn)就必須依附于超文本標(biāo)記語言(HTML)。


          在上一篇文章當(dāng)中,學(xué)記提到了超文本標(biāo)記語言發(fā)展至今,超文本標(biāo)記語言的版本已經(jīng)是HTML5了。

          現(xiàn)在的網(wǎng)頁上有各種各樣的資源,除了常見的文字圖片之外,還有影像資源音頻資源


          影像與音頻不同于傳統(tǒng)的圖文資源,由于它們本身是動(dòng)態(tài)的,HTML5中的語句無法進(jìn)行完整的操作,這種時(shí)候就要用到 JAVAScript 來進(jìn)行嵌套網(wǎng)頁編程

          什么是 JAVAScript

          JavaScript是一種高級(jí)的、解釋型編程語言


          JavaScript支持面向?qū)ο缶幊?/strong>,命令式編程,以及函數(shù)式編程


          它提供語法來操控文本、數(shù)組、日期以及正則表達(dá)式等,不過,它不支持輸入輸出,比如網(wǎng)絡(luò)、存儲(chǔ)和圖形等,但這些都可以由它的宿主環(huán)境網(wǎng)頁環(huán)境)提供支持。


          JAVAScript已經(jīng)由ECMA歐洲電腦制造商協(xié)會(huì))通過ECMAScript實(shí)現(xiàn)語言的標(biāo)準(zhǔn)化。它被世界上的絕大多數(shù)網(wǎng)站所使用,也被世界主流瀏覽器(Chrome、IE、Firefox、Safari、Opera)支持。

          就像我們之前學(xué)習(xí)其他網(wǎng)絡(luò)技術(shù)時(shí)要了解它的歷史一樣,JAVAScript也不例外,了解一個(gè)技術(shù)發(fā)源的歷史,可以使我們更好的加以應(yīng)用。


          起源


          在網(wǎng)頁出現(xiàn)之后,各種網(wǎng)頁瀏覽器如雨后春筍一般遍地出現(xiàn)。在1993年,伊利諾伊大學(xué)厄巴納-尚佩恩分校的國(guó)家超級(jí)電腦應(yīng)用中心(NCSA)發(fā)表了NCSA Mosaic,這是最早流行的圖形網(wǎng)頁瀏覽器

          瀏覽器從字符的瀏覽轉(zhuǎn)到圖文瀏覽是一個(gè)巨大的進(jìn)步,在萬維網(wǎng)發(fā)展的初期,圖形瀏覽器可以很好的幫助大眾去熟悉萬維網(wǎng)。在一定意義上進(jìn)行了萬維網(wǎng)的推廣。


          NCSA Mosaic 出現(xiàn)一年以后,一家名為Mosaic Communications的公司在美國(guó)加州成立,并雇用了許多來自 NCSA Mosaic 的開發(fā)人員用來開發(fā)Mosaic Netscape,以期取代 NCSA Mosaic成為世界第一的網(wǎng)頁瀏覽器


          很快,網(wǎng)頁瀏覽器 Mosaic Netscape 的第一個(gè)版本 Mosaic Netscape0.9于1994年底發(fā)布。在短短四個(gè)月內(nèi),就擊敗了NCSA Mosaic,占據(jù)了四分之三的瀏覽器市場(chǎng),并成為1990年代互聯(lián)網(wǎng)的主要網(wǎng)頁瀏覽器。

          后來,為避免NCSA的商標(biāo)所有權(quán)問題,該瀏覽器于同年更名為 Netscape Navigator,該公司更名為Netscape Communications。(網(wǎng)景通信公司


          網(wǎng)景公司,預(yù)想到網(wǎng)頁會(huì)發(fā)展的更加生動(dòng)。公司的創(chuàng)始人馬克·安德森認(rèn)為HTML需要一種膠水語言,讓網(wǎng)頁設(shè)計(jì)師和兼職程序員可以很容易地使用它來組裝圖片插件之類的組件,并且代碼可以直接編寫在網(wǎng)頁標(biāo)記中。


          1995年,網(wǎng)景招募了布蘭登·艾克,目標(biāo)是把Scheme語言嵌入Netscape Navigator瀏覽器當(dāng)中。但更早之前,網(wǎng)景已經(jīng)跟昇陽合作使Netscape Navigator中支持Java,這使得網(wǎng)景內(nèi)部產(chǎn)生激烈的爭(zhēng)論

          爭(zhēng)論的結(jié)果是網(wǎng)景決定發(fā)明一種與Java語法類似且搭配使用的輔助腳本語言,這個(gè)決策排除了采用現(xiàn)有語言的可能,例如PerlPythonTclScheme。為了在其他競(jìng)爭(zhēng)提案中捍衛(wèi)JavaScript這個(gè)初始想法,公司需要有一個(gè)可以運(yùn)作的原型。艾克在1995年5月僅花了十天時(shí)間就把原型設(shè)計(jì)出來了。


          此語言最初被命名為 Mocha,1995年9月在Netscape Navigator 2.0的Beta版中改名為LiveScript,同年12月,Netscape Navigator 2.0 Beta 3中被重命名為JavaScript


          至于為什么叫它JavaScript,是因?yàn)楫?dāng)時(shí)的網(wǎng)景公司與昇陽電腦公司組成的開發(fā)聯(lián)盟為了讓這門語言搭上Java這個(gè)編程語言“熱詞”(蹭Java的熱點(diǎn)),因此將其臨時(shí)改名為JavaScript

          這也是日后,Java 與 JavaScript 之間傻傻分不清的源頭。


          JavaScript 的推廣帶給網(wǎng)景公司的不僅有成功還有煩惱。雖然在瀏覽器上大獲成功,但與此同時(shí)微軟也開發(fā)出了JScript,與網(wǎng)景公司同臺(tái)競(jìng)技。


          JScript也是一種JavaScript的語言形式,這兩個(gè)JavaScript語言版本瀏覽器端共存意味著語言標(biāo)準(zhǔn)化的缺失,標(biāo)準(zhǔn)的缺失意味著市場(chǎng)的混亂,因此在當(dāng)時(shí),有很多網(wǎng)頁在兩種瀏覽器上只能在其中一種瀏覽器完美顯示,而在另一種瀏覽器就會(huì)出現(xiàn)亂碼之類的顯示問題


          直到1996年11月,網(wǎng)景正式向ECMA(歐洲計(jì)算機(jī)制造商協(xié)會(huì))提交語言標(biāo)準(zhǔn)。1997年6月,ECMA以JavaScript語言為基礎(chǔ)制定了ECMAScript標(biāo)準(zhǔn)規(guī)范ECMA-262


          盡管JavaScript是非程序員使用的腳本語言,但現(xiàn)在卻是很多程序員掌握的語言之一,可以說是意料之外的發(fā)展了。


          如果想學(xué)習(xí)更多科技知識(shí),可以點(diǎn)擊關(guān)注


          如果對(duì)文章中的內(nèi)容有什么困惑的地方,可以在評(píng)論區(qū)提出自己的問題,學(xué)記同大家一起交流,解決各種問題,一起進(jìn)步。


          青年學(xué)記 陪伴著各位青年


          作者:青年學(xué)記 一名不斷進(jìn)步的程序


          一起學(xué)習(xí) 一起進(jìn)步


          走向自立


          主站蜘蛛池模板: 日韩一区二区精品观看| 精品一区二区ww| 国产福利电影一区二区三区| 99偷拍视频精品一区二区| 国产日韩AV免费无码一区二区| 亚洲熟女一区二区三区| 亚洲精品国产suv一区88| 无码少妇一区二区三区芒果| 亚洲中文字幕在线无码一区二区| 精品国产一区二区三区久久蜜臀| 秋霞电影网一区二区三区| 免费精品一区二区三区在线观看| 亚洲av色香蕉一区二区三区| 成人精品视频一区二区| 日韩精品中文字幕视频一区| 一区二区三区无码高清| 国产日韩精品一区二区三区在线| 日本午夜精品一区二区三区电影| 在线播放偷拍一区精品| 伊人色综合视频一区二区三区| 韩国一区二区三区视频| 中文字幕一区精品| 97精品国产一区二区三区| 国产丝袜无码一区二区视频| 丰满岳乱妇一区二区三区| 亚洲av无码一区二区三区观看| 精品国产一区二区三区四区 | 国产精品视频一区麻豆| 国产一区二区三区播放| 亚洲AV综合色区无码一区| 国模精品视频一区二区三区| 亚洲不卡av不卡一区二区| 国产精品亚洲专一区二区三区| 精品国产日产一区二区三区| 成人无码AV一区二区| 国产裸体歌舞一区二区| 在线精品国产一区二区三区| 日本精品3d动漫一区二区| 丰满爆乳无码一区二区三区 | 国产一区二区三区在线观看免费| 极品尤物一区二区三区|