精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

JavaScript誕生記:C語言和Self語言一夜情的產物

開發 前端
二周前,我談了一點Javascript的歷史。今天把這部分補全,從歷史的角度,說明Javascript到底是如何設計出來的。只有了解這段歷史,才能明白Javascript為什么是現在的樣子。我依據的資料,主要是Brendan Eich的自述。

文章寫道:

"1994年,網景公司(Netscape)發布了Navigator瀏覽器0.9版。這是歷史上第一個比較成熟的網絡瀏覽器,轟動一時。但是,這個版本的瀏覽器只能用來瀏覽,不具備與訪問者互動的能力。......網景公司急需一種網頁腳本語言,使得瀏覽器可以與網頁互動。"

 

 

網頁腳本語言到底是什么語言?網景公司當時有兩個選擇:一個是采用現有的語言,比如Perl、Python、Tcl、Scheme等等,允許它們直接嵌入網頁;另一個是發明一種全新的語言。

這兩個選擇各有利弊。第一個選擇,有利于充分利用現有代碼和程序員資源,推廣起來比較容易;第二個選擇,有利于開發出完全適用的語言,實現起來比較容易。

到底采用哪一個選擇,網景公司內部爭執不下,管理層一時難以下定決心。

就在這時,發生了另外一件大事:1995年Sun公司將Oak語言改名為Java,正式向市場推出

Sun公司大肆宣傳,許諾這種語言可以"一次編寫,到處運行"(Write Once, Run Anywhere),它看上去很可能成為未來的主宰。

 

 

網景公司動了心,決定與Sun公司結成聯盟。它不僅允許Java程序以applet(小程序)的形式,直接在瀏覽器中運行;甚至還考慮直接將Java作為腳本語言嵌入網頁,只是因為這樣會使HTML網頁過于復雜,后來才不得不放棄。

總之,當時的形勢就是,網景公司的整個管理層,都是Java語言的信徒,Sun公司完全介入網頁腳本語言的決策。因此,Javascript后來就是網景和Sun兩家公司一起攜手推向市場的,這種語言被命名為"Java+script"并不是偶然的。

此時,34歲的系統程序員Brendan Eich登場了。1995年4月,網景公司錄用了他。

Brendan Eich的主要方向和興趣是函數式編程,網景公司招聘他的目的,是研究將Scheme語言作為網頁腳本語言的可能性。Brendan Eich本人也是這樣想的,以為進入新公司后,會主要與Scheme語言打交道。

 

[[34257]]

 

僅僅一個月之后,1995年5月,網景公司做出決策,未來的網頁腳本語言必須"看上去與Java足夠相似",但是比Java簡單,使得非專業的網頁作者也能很快上手。這個決策實際上將Perl、Python、Tcl、Scheme等非面向對象編程的語言都排除在外了。

Brendan Eich被指定為這種"簡化版Java語言"的設計師。

但是,他對Java一點興趣也沒有。為了應付公司安排的任務,他只用10天時間就把Javascript設計出來了。

由于設計時間太短,語言的一些細節考慮得不夠嚴謹,導致后來很長一段時間,Javascript寫出來的程序混亂不堪。如果Brendan Eich預見到,未來這種語言會成為互聯網第一大語言,全世界有幾百萬學習者,他會不會多花一點時間呢?

總的來說,他的設計思路是這樣的:

(1)借鑒C語言的基本語法;

(2)借鑒Java語言的數據類型和內存管理;

(3)借鑒Scheme語言,將函數提升到"第一等公民"(first class)的地位;

(4)借鑒Self語言,使用基于原型(prototype)的繼承機制。

所以,Javascript語言實際上是兩種語言風格的混合產物 ----(簡化的)函數式編程+(簡化的)面向對象編程。這是由Brendan Eich(函數式編程)與網景公司(面向對象編程)共同決定的。

多年以后,Brendan Eich還是看不起Java。

他說:

"Java(對Javascript)的影響,主要是把數據分成基本類型(primitive)和對象類型(object)兩種,比如字符串和字符串對象,以及引入了Y2K問題。這真是不幸啊。"

把基本數據類型包裝成對象,這樣做是否可取,這里暫且不論。Y2K問題則是直接與Java有關。根據設想,Date.getYear()返回的應該是年份的最后兩位:

  1. var date1 = new Date(1999,0,1);  
  2. var year1 = date1.getYear();  
  3. alert(year1); // 99  

但是實際上,對于2000年,它返回的是100!

  1. var date2 = new Date(2000,0,1);  
  2. var year2 = date2.getYear();  
  3. alert(year2); // 100 

如果用這個函數生成年份,某些網頁可能出現"19100"這樣的結果。這個問題完全來源于Java,因為Javascript的日期類直接采用了java.util.Date函數庫。Brendan Eich顯然很不滿意這個結果,這導致后來不得不添加了一個返回四位數年份的Date.getFullYear()函數。

如果不是公司的決策,Brendan Eich絕不可能把Java作為Javascript設計的原型。作為設計者,他一點也不喜歡自己的這個作品:

"與其說我愛Javascript,不如說我恨它。它是C語言和Self語言一夜情的產物。十八世紀英國文學家約翰遜博士說得好:'它的優秀之處并非原創,它的原創之處并不優秀。'(the part that is good is not original, and the part that is original is not good.)"

原文鏈接:http://www.ruanyifeng.com/blog/

【編輯推薦】

  1. 一位反JavaScript主義者的覺醒
  2. JavaScript重構深入剖析
  3. 驚動大神的JavaScript:在Web上運行Linux
  4. 19個很有用的JavaScript庫強烈推薦
  5. 4月超棒的JavaScript游戲開發框架推薦
責任編輯:陳貽新 來源: 阮一峰的博客
相關推薦

2012-02-27 09:20:43

Julia編程語言

2009-07-15 13:01:47

2010-11-10 09:11:37

Windows Pho

2012-12-07 10:52:29

2014-11-24 09:23:22

華為數據中心

2021-01-12 09:42:05

鴻蒙HarmonyOSPage Abilit

2022-06-17 15:54:31

自動化數字員工

2022-07-01 11:56:54

C語言C++編程語言

2021-06-02 08:19:05

Web性能HTML

2015-07-14 11:39:08

Docker容器DevOps虛擬機

2012-07-06 10:19:07

HTML5

2012-03-19 09:14:26

2016-09-26 15:40:52

2015-09-28 17:22:44

浪潮

2018-05-23 11:43:59

數據庫

2009-08-14 16:25:36

C#中間語言和元數據

2011-08-16 10:03:45

Groovy編程語言Web

2022-04-24 15:55:22

Go語言語言函數

2019-03-05 10:03:17

阿里云云廠商硬盤
點贊
收藏

51CTO技術棧公眾號

丁香花免费高清完整在线播放 | 国内精品伊人久久久久影院对白| 色婷婷av一区二区三区久久| 巨乳女教师的诱惑| 一个人看的www视频在线免费观看| 国产偷国产偷精品高清尤物| 成人性生交xxxxx网站| 日韩精品国产一区二区| 青青草国产免费一区二区下载| 日韩欧美在线123| 中国丰满人妻videoshd| 免费人成在线观看播放视频 | 一本大道久久a久久综合| 日本中文不卡| 免费观看国产视频| 久久99国产精品久久99| 57pao国产精品一区| 成人免费视频网站入口::| 九色精品91| 欧美xxx久久| 在线观看国产一级片| 91美女主播在线视频| 最新热久久免费视频| 免费在线观看一区二区| 成人h动漫精品一区二区无码 | 亚洲天堂小视频| 色婷婷综合久久久中字幕精品久久 | 国产精品入口免费| 国产精品欧美综合亚洲| 日韩在线一区二区三区| 97人人模人人爽人人喊中文字| 夫妻性生活毛片| 日本不卡高清| 一区二区国产精品视频| 精品少妇人妻一区二区黑料社区| 黄色成人美女网站| 欧美va在线播放| 91pony九色| 日本午夜免费一区二区| 91国模大尺度私拍在线视频| 免费成人午夜视频| 波多野结依一区| 亚洲国产精品一区二区久久| 激情图片qvod| 国产黄色小视频在线| 国产精品欧美一区喷水| 日韩一区二区电影在线观看| 五月婷婷六月丁香| 99riav久久精品riav| 国产精品一区免费观看| 国产自产一区二区| 成人一区二区三区中文字幕| 99re视频| 亚洲国产精品久久久久久6q| 高清久久久久久| www.成人三级视频| 欧美天堂在线视频| 99热精品国产| 开心色怡人综合网站| 亚洲三区在线播放| 国产日韩欧美不卡| 亚洲免费在线精品一区| 久久久久久久久免费视频| 综合久久国产九一剧情麻豆| 7777在线视频| 国产精品69xx| 岛国av一区二区三区| 黄色一级大片在线观看| 992tv国产精品成人影院| 欧美视频日韩视频| 在线观看欧美一区二区| 久久91在线| 亚洲一品av免费观看| 99在线视频免费| 91精品91| 欧美又大粗又爽又黄大片视频| 一级黄色大片视频| 久久精品999| www 成人av com| 免费看男男www网站入口在线| 国产日韩欧美电影| 日本天堂免费a| 中文在线最新版地址| 欧美日韩极品在线观看一区| 国产乱国产乱老熟300部视频| 女人抽搐喷水高潮国产精品| 国产亚洲激情在线| 久热这里有精品| 免费在线亚洲| 91情侣偷在线精品国产| 色网站免费观看| 国产精品对白交换视频| 91黄色在线看| 成人全视频免费观看在线看| 精品乱人伦小说| 欧美激情 一区| 亚洲国产激情| 国产精品入口日韩视频大尺度| www.激情五月.com| 国产欧美一区二区在线观看| 日韩国产小视频| 99热播精品免费| 亚洲第一天堂av| 51精品免费网站| 久久福利毛片| 国产伦精品一区二区三区高清版| av资源在线观看免费高清| 一区二区三区久久| 97超碰成人在线| 亚洲盗摄视频| 久久久久久久久久久成人| 无码久久精品国产亚洲av影片| 国产成人丝袜美腿| 中文有码久久| 少妇一区视频| 亚洲九九九在线观看| 久久久久久久久久99| 久久精品噜噜噜成人av农村| 麻豆蜜桃91| 岛国片av在线| 91精品国产91综合久久蜜臀| 久久国产柳州莫菁门| 亚洲精品日本| 成人动漫视频在线观看完整版| 二人午夜免费观看在线视频| 欧美视频13p| 日韩精品视频一区二区| 中文字幕人成人乱码| 国产精品主播视频| 国产视频网站在线| 色噜噜狠狠成人网p站| 国产xxxx视频| 精品动漫3d一区二区三区免费| 92福利视频午夜1000合集在线观看| 国产一区二区三区不卡在线| 精品久久久久久国产| 无码人妻丰满熟妇区毛片蜜桃精品| 日韩综合网站| 国产精品私拍pans大尺度在线| 每日更新av在线播放| 欧美日韩国产区| 国产十八熟妇av成人一区| 激情综合中文娱乐网| 国产精品国产三级欧美二区| 欧美黄色视屏| 亚洲精品一区二区三区福利 | wwwww在线观看免费视频| 日韩欧美第一页| 91视频在线网站| 天堂va蜜桃一区二区三区漫画版| 久久久人人爽| 欧洲亚洲两性| 在线精品国产欧美| 中文字幕+乱码+中文字幕明步| 国产色婷婷亚洲99精品小说| 精品久久久久久久无码| 色777狠狠狠综合伊人| 国产精品日韩欧美大师| 免费a在线看| 欧美一区二区免费观在线| 午夜少妇久久久久久久久| 国产精品一二三区| 人妻夜夜添夜夜无码av| 香蕉视频一区二区三区| 国产激情久久久| 欧美一区二区三区| 日韩免费在线观看| 韩国av免费观看| 久久综合九色综合97婷婷| 欧美精品第三页| 欧美a级片视频| 97se亚洲综合| av资源亚洲| 色多多国产成人永久免费网站| 99re只有精品| 黄色成人在线免费| 欧美巨胸大乳hitomi| 国产精品一级片| 黄色免费视频大全| 91亚洲国产高清| 国产高清在线精品一区二区三区| 成人勉费视频| 久久精品国产一区| 五月婷婷在线播放| 51精品国自产在线| 久久久久久久久久久久久久免费看| 91丨九色丨黑人外教| 久久婷五月综合| 亚洲国产免费看| 色综合久久久久久久久五月| 1313精品午夜理伦电影| 国产精品美女av| 91九色在线看| 日韩有码片在线观看| 神马久久精品| 欧美一区二区三区在线| 日韩一区二区视频在线| 亚洲欧美日韩人成在线播放| 黄色a一级视频| 国产一区二区三区在线看麻豆| 国产精品丝袜久久久久久消防器材| 999精品色在线播放| 看欧美日韩国产| 97视频一区| 成人福利在线视频| 性欧美hd调教| 国内精品400部情侣激情| 天天综合视频在线观看| 亚洲裸体xxxx| 高潮一区二区三区乱码| 宅男在线国产精品| 日日夜夜狠狠操| 亚洲成人777| 国产女片a归国片aa| 欧美韩国日本综合| 波多野结衣福利| 高清av一区二区| 91丝袜超薄交口足| 奇米四色…亚洲| 日本三区在线观看| 一区二区三区成人精品| 久草免费福利在线| 91精品国产91久久久久久密臀| 日韩av电影免费播放| 日韩av午夜| 国产亚洲精品久久飘花| 秋霞一区二区三区| 91视频九色网站| 伊人久久精品| 成人福利免费观看| 99精品女人在线观看免费视频| 日本久久久a级免费| 范冰冰一级做a爰片久久毛片| 性欧美长视频免费观看不卡| 四虎影院观看视频在线观看| 久久久精品视频成人| 免费网站免费进入在线| 啊v视频在线一区二区三区| 1769视频在线播放免费观看| 在线电影中文日韩| av资源网在线观看| 色婷婷综合成人| 日本不卡三区| 久久视频在线免费观看| www.久久ai| 久久av红桃一区二区小说| 18+激情视频在线| 欧美xxxx18国产| 丁香高清在线观看完整电影视频| 欧美丰满老妇厨房牲生活| 国产乱妇乱子在线播视频播放网站| 色综合色综合网色综合| 青草视频在线免费直播 | 成人小视频免费在线观看| 亚洲欧美高清在线| 99精品视频免费在线观看| av鲁丝一区鲁丝二区鲁丝三区| av中文字幕不卡| 永久免费成人代码| 国产精品乱码一区二三区小蝌蚪| www.com.av| 一区二区三区欧美日| 日本少妇毛茸茸高潮| 岛国精品视频在线播放| 国产精品xxxxxx| 91麻豆精品国产91久久久久久| 国产黄色小视频在线观看| 亚洲国产黄色片| 麻豆app在线观看| 久久久国产视频| 成人免费一区二区三区牛牛| 热re91久久精品国99热蜜臀| 电影一区电影二区| 91九色在线观看| 偷拍自拍一区| 在线看无码的免费网站| 亚洲国产专区| 久久午夜夜伦鲁鲁一区二区| 国产一区二区三区免费在线观看| 日本久久久久久久久久| 国产亚洲va综合人人澡精品| 91传媒免费观看| 黄网站色欧美视频| 国产又粗又黄又爽| 亚洲精品电影在线| 视频三区在线| 国内精品一区二区三区四区| avav成人| 99九九视频| 成人vr资源| 国产一线二线三线女| 裸体一区二区三区| 精品无码国产一区二区三区51安| 国产精品欧美精品| 欧美一级视频免费观看| 欧美精品一级二级| 性猛交xxxx| 久久99精品久久久久久琪琪| 三级成人黄色影院| 国产精品久久久久久久天堂第1集 国产精品久久久久久久免费大片 国产精品久久久久久久久婷婷 | 另类视频在线观看| 韩日成人影院| 成人做爰66片免费看网站| 波多野结衣在线播放一区| 欧美一级片免费播放| 久久成人久久鬼色| 亚洲一区二区观看| 亚洲国产精品久久久久秋霞影院| 在线观看亚洲一区二区| 日韩极品精品视频免费观看| av免费在线观看网址| 国产精品盗摄久久久| 久久夜色精品国产噜噜av小说| 一区二区三区四区不卡| 日日夜夜一区二区| 午夜一区二区三区免费| 亚洲国产成人高清精品| 99热这里只有精品99| 中文字幕日韩av电影| 都市激情亚洲一区| 久久综合毛片| 99亚洲精品| 国产大尺度视频| 亚洲最大的成人av| 国产精品视频无码| 中文字幕成人在线| 影视一区二区三区| 欧美精品尤物在线| 国产美女诱惑一区二区| 亚洲综合自拍网| 亚洲观看高清完整版在线观看| 成人av一区二区三区在线观看| 久久国产精品久久久久久| 欧美亚洲黄色| 欧美 日韩 国产 在线观看| 欧美a级理论片| 亚洲精品成人av久久| 欧美特级限制片免费在线观看| 国模精品一区二区| 国产精品视频一区二区三区四| 国产一区二区三区探花 | 国产一区二区不卡| 91香蕉一区二区三区在线观看| 欧美浪妇xxxx高跟鞋交| 人人干在线视频| 91精品视频网站| 中文字幕一区二区精品区| 欧美一区二区三区影院| 亚洲成av人片一区二区三区| 四虎永久在线精品免费网址| 国内免费久久久久久久久久久| 国产乱论精品| 日韩少妇内射免费播放| 久久久综合激的五月天| 黄色污污网站在线观看| 日韩专区在线播放| 精品午夜视频| 91黄色在线看| 久久亚洲欧美国产精品乐播| 天天综合网入口| 国产一级揄自揄精品视频| h1515四虎成人| wwwwww欧美| 91免费国产在线观看| 国产精品久久久久久久久夜色| 色噜噜久久综合伊人一本| 亚洲精品无播放器在线播放| 污污污污污污www网站免费| 99精品视频在线播放观看| 日本熟妇一区二区三区| xxxxxxxxx欧美| 久久国产精品免费精品3p| 超碰影院在线观看| 亚洲丝袜精品丝袜在线| 刘玥91精选国产在线观看| 日韩av大片在线| 99久久亚洲精品蜜臀| 亚洲美女在线播放| 欧洲一区在线电影| 少妇视频在线| 日本公妇乱淫免费视频一区三区| 国产一区二区三区黄视频 | 中文字幕丰满乱子伦无码专区| 欧美体内she精视频| 都市激情久久综合| 色视频一区二区三区| 国产精品亚洲视频| 久久精品视频5| 欧美成人第一页| 激情五月综合网| 香蕉久久久久久av成人| 欧美综合在线视频| 欧美xxxx黑人又粗又长| 欧美亚洲一级二级| 国产99精品在线观看| 精品一区二区无码| 久久久久免费精品国产| 98精品视频| 成人精品999| 精品欧美一区二区久久|