欧美槡BBBB槡BBB少妇,国产成人精品无码免费播放精品,日韩A片中文字幕乱码,日本高清视频在线


一、介紹

Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境,是一個(gè)讓 JavaScript 運(yùn)行在服務(wù)端的開發(fā)平臺(tái),它讓 JavaScript 成為與PHP、Python、Perl、Ruby 等服務(wù)端語(yǔ)言平起平坐的腳本語(yǔ)言。

JavaScript一種直譯式腳本語(yǔ)言,是一種動(dòng)態(tài)類型、弱類型、基于原型的語(yǔ)言。它是一種高級(jí)的、解釋型的編程語(yǔ)言;它是一門基于原型、函數(shù)先行的語(yǔ)言,是一門多范式的語(yǔ)言,它支持面向?qū)ο缶幊蹋钍骄幊?,以及函?shù)式編程。傳統(tǒng)的js是運(yùn)行在瀏覽器上的,因?yàn)闉g覽器內(nèi)核分為兩個(gè)部分:

1.渲染引擎—渲染HTMLCSS

2.JavaScript 引擎負(fù)責(zé)運(yùn)行 JavaScript

如果要執(zhí)行JavaScript代碼,需要一個(gè)js引擎,你可以安裝一個(gè)瀏覽器(內(nèi)置js引擎),或nodejs環(huán)境(內(nèi)置js引擎),如果你在js代碼中調(diào)用了瀏覽器提供的API,則必須安裝一個(gè)瀏覽器,若調(diào)用了nodejs API,則必須安裝nodejs環(huán)境,然后以各自規(guī)定的方式加載、執(zhí)行JavaScript代碼。

二、Node.js的歷史

2008年左右,隨著 AJAX 的逐漸普及,Web 開發(fā)逐漸走向復(fù)雜化,系統(tǒng)化;

20092月,Ryan Dahl 想要?jiǎng)?chuàng)建一個(gè)輕量級(jí),適應(yīng)現(xiàn)代 Web 開發(fā)的平臺(tái);

20095月,Ryan Dahl GitHub 中開源了最初版本,同年11月,JSConf 就安排了 Node 講座;

2010年底,Joyent 公司資助,Ryan Dahl 也加入了該公司,專門負(fù)責(zé) Node 的開發(fā);

20117月,在微軟的支持下登陸 Windows 平臺(tái)。PS:node 的生產(chǎn)環(huán)境基本是在 Linux 下。

據(jù) Node.js 創(chuàng)始人 Ryan Dahl 回憶,他最初希望采用 Ruby,但是 Ruby 的虛擬機(jī)效率不行。

注意:是 Node 選擇了 JavaScript,不是 JavaScript 發(fā)展出來(lái)了一個(gè) Node。

NodeJS的作者說(shuō),他創(chuàng)造NodeJS的目的是為了實(shí)現(xiàn)高性能Web服務(wù)器,他首先看重的是事件機(jī)制和異步IO模型的優(yōu)越性,而不是JS。但是他需要選擇一種編程語(yǔ)言實(shí)現(xiàn)他的想法,這種編程語(yǔ)言不能自帶IO功能,并且需要能良好支持事件機(jī)制。JS沒(méi)有自帶IO功能,天生就用于處理瀏覽器中的DOM事件,并且擁有一大群程序員,因此就成為了天然的選擇。

如他所愿,NodeJS在服務(wù)端活躍起來(lái),出現(xiàn)了大批基于NodeJSWeb服務(wù)。而另一方面,NodeJS讓前端眾如獲神器,終于可以讓自己的能力覆蓋范圍跳出瀏覽器窗口,更大批的前端工具如雨后春筍。

因此,對(duì)于前端而言,雖然不是人人都要拿NodeJS寫一個(gè)服務(wù)器程序,但簡(jiǎn)單可至使用命令交互模式調(diào)試JS代碼片段,復(fù)雜可至編寫工具提升工作效率。

三、Node.jsjs的區(qū)別

1、node.js是平臺(tái),Js是編程語(yǔ)言;

2js是客戶端編程語(yǔ)言,需要瀏覽器的JavaScript解釋器進(jìn)行解釋執(zhí)行;

3、node.js是一個(gè)基于Chrome JavaScript運(yùn)行時(shí)建立的平臺(tái),它是對(duì)Google V8引擎進(jìn)行了封裝的運(yùn)行環(huán)境;

4、node.js就是把瀏覽器的解釋器封裝起來(lái)作為服務(wù)器運(yùn)行平臺(tái),用類似JavaScript的結(jié)構(gòu)語(yǔ)法進(jìn)行編程,在node.js上運(yùn)行。

5、node.jsjs組成不同

JavaScript

1.ECMAScript(語(yǔ)言基礎(chǔ),如:語(yǔ)法、數(shù)據(jù)類型結(jié)構(gòu)以及一些內(nèi)置對(duì)象)

2.DOM(一些操作頁(yè)面元素的方法)

3.BOM(一些操作瀏覽器的方法)

Node.js

1.ECMAScript(語(yǔ)言基礎(chǔ),如:語(yǔ)法、數(shù)據(jù)類型結(jié)構(gòu)以及一些內(nèi)置對(duì)象)

2.OS(操作系統(tǒng))

3.file(文件系統(tǒng))

4.net(網(wǎng)絡(luò)系統(tǒng))

5.database(數(shù)據(jù)庫(kù))

6、頂層對(duì)象不同

JS中的頂層對(duì)象是window對(duì)象,但是在node中沒(méi)有什么window對(duì)象,node中的頂層對(duì)象是global對(duì)象。這就是二者的差異性。

window對(duì)象中,定義一個(gè)全局變量是可以通過(guò)Window來(lái)訪問(wèn)的,但是在node中是不能通過(guò)global對(duì)象來(lái)訪問(wèn)的

優(yōu)缺點(diǎn):

1.原生js運(yùn)行文件依賴于瀏覽器;

2.nodejs運(yùn)行文件的時(shí)候服務(wù)為終端;

3.原生js有兼容性問(wèn)題,nodejs不存在兼容性問(wèn)題;

4.nodejs可以進(jìn)行本地的讀寫,服務(wù)器搭建,連接數(shù)據(jù)庫(kù)等,而原生js無(wú)法做到。

1)使用node開發(fā)還可以使用node自有配套的npm包管理工具:

npm是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問(wèn)題,常見的使用場(chǎng)景有以下幾種:允許用戶從npm服務(wù)器下載別人編寫的第三方包到本地使用。允許用戶從npm服務(wù)器下載并安裝別人編寫的命令行程序到本地使用。允許用戶將自己編寫的包或命令行程序上傳到npm服務(wù)器供別人使用。Node.js 的使用包管理器 npm來(lái)管理所有模塊的安裝、配置、刪除等操作,使用起來(lái)非常方便。

2node本身就是一個(gè)服務(wù)端的框架,對(duì)于一些簡(jiǎn)單的項(xiàng)目,我們可以不需要后端配合,直接用node進(jìn)行數(shù)據(jù)庫(kù)的增刪改查(但是我們一般不使用這個(gè)功能);

3nodejs是一個(gè)服務(wù)js平臺(tái),有自身帶的npm(基于 Node.js的前端項(xiàng)目包管理工具),有第三方的grunt(基于 Node.js的前端項(xiàng)目構(gòu)建工具,即腳手架)、有第三方的express(路由功能)等強(qiáng)大的代碼與項(xiàng)目管理應(yīng)用。還有自身帶的webpack(基于 Node.js的前端項(xiàng)目部署打包工具),v8(谷歌客戶端瀏覽器Javascript引擎)等強(qiáng)大的功能。npm(包管理工具)是基于 Node.js的前端項(xiàng)目包管理工具,是項(xiàng)目中對(duì)各種程序包的依賴管理,傳統(tǒng)的開發(fā)項(xiàng)目主要是后端,現(xiàn)在技術(shù)在更新,前端有了框架的開發(fā)模式管理,也需要用包管理工具的思想去管理,目的是簡(jiǎn)化第三方程序包在項(xiàng)目中引用復(fù)雜化。前端的js包是全世界JavaScript 天才開發(fā)共享的各種代碼模塊,把這些代碼模塊都按照一個(gè)獨(dú)立的軟件功能統(tǒng)一在一個(gè)庫(kù)中,一個(gè)代碼模塊是一個(gè)程序包(package,即代碼模塊)。

四、總結(jié)

就前端來(lái)說(shuō)nodejs具有劃時(shí)代的意義,nodejs不是一個(gè)js框架,千萬(wàn)不要認(rèn)為是類似jquery的框架,nodejsjs運(yùn)行時(shí),運(yùn)行環(huán)境,類比javajvm,java的開端是什么,無(wú)疑是jvm,自從有了jvm,java才能做到一次編寫處處運(yùn)行,不管你是windows還是linux,只要安裝了對(duì)應(yīng)版本的jvm都可以運(yùn)行.class文件。同樣,nodejs的作用和JVM是一樣的,也是js的運(yùn)行環(huán)境,不管是你是什么操作系統(tǒng),只要安裝對(duì)應(yīng)版本的nodejs,那你就可以用js來(lái)開發(fā)后臺(tái)程序。這具有劃時(shí)代的意義,意味著一直以來(lái)只能在瀏覽器上玩來(lái)玩去的JS,可以做后端開發(fā)了,自從有了nodejs后就催生出一大批用js做后臺(tái)開發(fā)的前端人員,這部分人員就是偏前端的全棧程序員。nodejs是和jvm同等地位的js運(yùn)行環(huán)境,打開了前端人員走向后端的道路。

 

點(diǎn)贊(1) 打賞

微信公眾賬號(hào)

微信掃一掃加關(guān)注

發(fā)表
評(píng)論
返回
頂部
99爱在线精品视频免费观看 | 日本高清色本在线www游戏 | 日本xxxx裸体xxxx | 久久久无码精品国产H动漫 韩国一级A片在线观看播放 | 成人18网址在线观看 | 66亚洲一卡2卡新区成片发布 | 免费精品一区二区三区在线观看 | 人人妻人人澡人人爽国产一区 | 上课时男同桌狂揉我下面污文 | 五月的丁香六月的婷婷免费无毒不卡 | 亚洲人成网77777色在线播放 | 在线视频一区二区三区在线播放 | 成人欧美一区二区三区白人 | 亚洲成AV人无码亚洲成AV无码 | 99久久做夜夜爱天天做精品 | 一本色道久久综合亚洲精品加 | 插插射啊爱视频日A级 | 国产免费AV片在线观看播放器 | 亚洲精品不卡午夜精品 | 每日最新avhd101天天看新片 | 亚洲成A∧人片在线播放无码 | 天天做天天摸天天爽天天爱 | 内射无码专区久久亚洲 | 美女裸身露双奶头无遮挡免费视频 | 久久精品国产a真人一级无码毛片一区二区 | 野花社区在线观看免费高清完整版 | 欧美日韩中文字幕群交视频在线观看 | 超碰97人人做人人爱亚洲尤物 | 亚洲AV无码乱码国产精品久久 | 又湿又紧又大又爽又A视频 2012中文字幕免费高清 | 强行破瓜粗暴顶弄蹂躏哭喊 | 日韩av片高清在线观看 | 国产精品看片在线观看 | 免费看**a一级毛片 日韩高清特级特黄毛片 | 被三个男人绑着躁我好爽视频 | 日韩成人精品视频免费专区 | 高潮迭起AV乳颜射后入 | 又硬又粗又大一区二区三区视频 | 欧美V亚洲V综合V国产V | 99人妻碰碰碰久久久久禁片 | 性色AV一区二区三区咪爱四虎 |