真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaScript的示例分析

小編給大家分享一下JavaScript的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比利津網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式利津網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋利津地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。

JavaScript,也叫Mocha,LiveScript,JScript,ECMAScript,是世界上最受歡迎的編程語(yǔ)言之一。事實(shí)上,世界上每個(gè)人的個(gè)人電腦上至少安裝了一種JavaScript的解釋器,并且被廣泛地使用著。JavaScript如此受歡迎的原因在于它在萬(wàn)維網(wǎng)中所扮演的腳本語(yǔ)言的角色。

名字

Java這個(gè)前綴的暗示使得人們總會(huì)把JavaScript和Java聯(lián)系起來(lái),認(rèn)為JavaScript是Java的一個(gè)子集或者是一個(gè)功能差于Java的一個(gè)版本。似乎JavaScript這個(gè)名字就是有意造成一種混淆,而這種混淆帶來(lái)了后來(lái)的誤解。JavaScript不被解釋成Java,Java就是Java。而JavaScript則是另一種不同的編程語(yǔ)言。

JavaScript的語(yǔ)法和Java相類似,這就像Java和C類似一樣。但是,JavaScript并不是Java的一個(gè)子集就像Java不是C的子集。JavaScript在應(yīng)用程序方面比Java(Oak)當(dāng)初所打算的表現(xiàn)地更好。

JavaScript并不是在Java的誕生地——Sun Microsystems公司,被開(kāi)發(fā)出來(lái)的,而是在Netscape(網(wǎng)景)被開(kāi)發(fā)出來(lái)的。它最初被叫做LiveScript,而這個(gè)名字并沒(méi)有讓人們很迷惑。

Script這個(gè)后綴的暗示,說(shuō)明JavaScript不是一種真正的“編程語(yǔ)言”,作為一門腳本語(yǔ)言和編程語(yǔ)言相比,還是有差距的。但是,這的確是一個(gè)專業(yè)化的問(wèn)題。和C語(yǔ)言相比,JavaScript通過(guò)犧牲性能而換取更加豐富的表達(dá)能力和動(dòng)態(tài)性。

披著 C 外衣的 Lisp

JavaScript的類 C 語(yǔ)法,包括花括號(hào)和笨重的for語(yǔ)句,使得它看起來(lái)更像是一種普通的過(guò)程式的語(yǔ)言。這是一種誤導(dǎo),因?yàn)楹虲 或 Java相比,JavaScript 和 函數(shù)式語(yǔ)言——比如 Lisp 和 Scheme,有著更多的相似之處。它用數(shù)組代替列表,用對(duì)象代替屬性列表。函數(shù)是第一類型,函數(shù)可以有閉包。你不需要去平衡所有的這些圓括號(hào),就可以使用匿名函數(shù)。

語(yǔ)言類型定型

JavaScript最初的設(shè)計(jì)是運(yùn)行在Netscape Navigator上的。它的成功使它事實(shí)上成為了所有網(wǎng)頁(yè)瀏覽器的標(biāo)準(zhǔn)配置。這就造成了語(yǔ)言類型的定型??梢哉f(shuō),JavaScript就是編程語(yǔ)言中的 George Reeves(注:美國(guó)演員,因扮演“超人”出名,導(dǎo)致被定型,而無(wú)法接演其他角色)。JavaScript也適用于很多和網(wǎng)頁(yè)無(wú)關(guān)的應(yīng)用程序。

變動(dòng)的(語(yǔ)言設(shè)計(jì))目標(biāo)

JavaScript的第一個(gè)版本相當(dāng)?shù)娜?。它缺少異常處理、?nèi)部函數(shù)、繼承。就它現(xiàn)在的形式而言,它已經(jīng)是一門完整的面向?qū)ο蟮木幊陶Z(yǔ)言了。但是,針對(duì)這門語(yǔ)言的很多觀點(diǎn)都是基于它不成熟的形式而引發(fā)的。
負(fù)責(zé)管理這門語(yǔ)言的ECMA委員會(huì)正在開(kāi)發(fā)擴(kuò)展,這本是出于好意,但是這也加劇了一個(gè)更大的問(wèn)題:版本變得越來(lái)越多。而這造成了更多的困擾。

設(shè)計(jì)錯(cuò)誤

沒(méi)有任何編程語(yǔ)言是完美的。JavaScript也有它本身設(shè)計(jì)錯(cuò)誤,比如重載表示相加和附帶類型轉(zhuǎn)換的串連接兩個(gè)含義,易錯(cuò)的with語(yǔ)句也應(yīng)該避免使用。保留字策略過(guò)于嚴(yán)格。分號(hào)的嵌入也是一個(gè)巨大的錯(cuò)誤,正則表達(dá)式的符號(hào)也是一樣。這些錯(cuò)誤會(huì)導(dǎo)致編程錯(cuò)誤,同時(shí)將語(yǔ)言的設(shè)計(jì)作為一個(gè)整體質(zhì)疑。幸運(yùn)地是,這些問(wèn)題中的很多問(wèn)題可以用一個(gè)非常不錯(cuò)的 Lint 程序來(lái)緩和。

這個(gè)語(yǔ)言的設(shè)計(jì)整體上是相當(dāng)健全的。令人驚訝地是,ECMAScript委員會(huì)似乎對(duì)于糾正這些錯(cuò)誤并不感興趣。也許,他們對(duì)創(chuàng)造一個(gè)新的語(yǔ)言更感興趣吧。(注:這里應(yīng)該是作者的調(diào)侃語(yǔ))。

糟糕的實(shí)現(xiàn)

JavaScript早期的一些實(shí)現(xiàn)可謂是錯(cuò)誤百出。這一點(diǎn)反映在語(yǔ)言上。更糟糕地是,這些實(shí)現(xiàn)被嵌入到了更加錯(cuò)誤百出的web瀏覽器之中。

糟糕的參考書籍

幾乎所有關(guān)于JavaScript的書籍都相當(dāng)?shù)卦愀?。它們充滿了錯(cuò)誤,不恰當(dāng)?shù)睦?,和沒(méi)什么幫助的練習(xí)。這門語(yǔ)言中的重要特性被糟糕地解釋,或者被完全忽略。我修訂過(guò)很多關(guān)于JavaScript的書籍,但是我只推薦一本:《JavaScript權(quán)威指南(第五版)》——作者:David Flanagan。(作者語(yǔ):如果你寫了一本很好的書,請(qǐng)給我郵遞一本贈(zèng)閱本。)

不合格的標(biāo)準(zhǔn)

JavaScript的官方規(guī)范是由ECMA出版的。這個(gè)官方規(guī)范的質(zhì)量相當(dāng)?shù)牡?。而且難以閱讀和理解。這是一個(gè)造成拙劣書籍問(wèn)題的一個(gè)原因,因?yàn)樽髡邆儫o(wú)法使用標(biāo)準(zhǔn)文檔來(lái)提升他們對(duì)語(yǔ)言的理解。ECMA和TC39委員會(huì)應(yīng)該為此感到深深地窘迫和不安。

業(yè)余愛(ài)好者

很多使用JavaScript的人并不是程序員。他們?nèi)狈I(yè)素質(zhì)和編寫優(yōu)秀程序的訓(xùn)練。無(wú)論如何,JavaScript擁有如此強(qiáng)大的表現(xiàn)力,以致于他們通過(guò)使用JavaScript可以做很多有意義的事情。這就讓JavaScript背上了一個(gè)名聲,就是說(shuō),JavaScript完全是給業(yè)余人員設(shè)計(jì)的語(yǔ)言,它不適合用于專業(yè)編程。其實(shí),事實(shí)并非如此。

面向?qū)ο?/strong>

JavaScript是面向?qū)ο蟮膯??它擁有?duì)象,它的對(duì)象可以包含數(shù)據(jù)和處理數(shù)據(jù)的方法。對(duì)象中可以包含其他的對(duì)象。它沒(méi)有類,但是它有構(gòu)造函數(shù),通過(guò)構(gòu)造函數(shù)可以做類似于類的操作,包括充當(dāng)類變量和方法的容器。它沒(méi)有面向類的繼承,但是它有面向原型的繼承。

創(chuàng)建對(duì)象體系的兩個(gè)主要方式分別是通過(guò)繼承和通過(guò)聚合。JavaScript兩個(gè)方法都有,但是它的動(dòng)態(tài)性使得它可以在聚合的基礎(chǔ)上變得更加優(yōu)秀。

一些爭(zhēng)論認(rèn)為JavaScript不是一門真正的面向?qū)ο螅驗(yàn)樗恢С郑ㄌ峁┬畔⒌碾[藏。也就是說(shuō),對(duì)象不能擁有私有變量和私有方法:所有的成員都是公共的。

但是又有證明顯示,JavaScript中的對(duì)象可以有私有變量和私有方法。(注:原文中,作者這里是一個(gè)鏈接,介紹關(guān)于對(duì)象私有變量和私有方法的文檔)當(dāng)然,很少有人理解這一點(diǎn),因?yàn)镴avaScript是世界上最被誤解的編程語(yǔ)言。(注:作者這里使用了一種輕松的調(diào)侃方式)。

一些爭(zhēng)論認(rèn)為JavaScript不是一門真正的面向?qū)ο?,因?yàn)樗恢С掷^承。但是這又被證明JavaScript不僅能支持傳統(tǒng)的繼承還能應(yīng)用其它的代碼復(fù)用模式。(注:原文這里仍然是一個(gè)鏈接)

版權(quán)2001年道格拉斯Crockford。版權(quán)所有Wrrrldwide。

以上是“JavaScript的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


當(dāng)前文章:JavaScript的示例分析
文章起源:http://weahome.cn/article/pjpipp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部