JavaScript的兩種運行環(huán)境

目前JavaScript腳本的運行環(huán)境有瀏覽器和node.js環(huán)境兩種。

1、JavaScript被定義為一種瀏覽器的腳本語言,一直以來其運行環(huán)境都是客戶端瀏覽器,因為JavaScript設(shè)計的初衷就是做一些瀏覽器與用戶的交互和一些網(wǎng)頁的特效來補充HTML和CSS的不足。

2、在2009年,誕生了node.js技術(shù),node.js是一個Javascript運行環(huán)境(runtime)。實際上它是對Google V8引擎進行了封裝, node.js是一個基于Chrome JavaScript運行時建立的平臺, 用于方便地搭建響應(yīng)速度快、易于擴展的網(wǎng)絡(luò)應(yīng)用。node.js使得JavaScript可以運行在服務(wù)器端作為一種服務(wù)器腳本語言運行,類似于php等動態(tài)語言。

判斷JavaScript腳本運行在瀏覽器還是node.js環(huán)境中?

this === window ? 'browser' : 'node';

通過判斷Global對象是否為window,如果不為window,則當前腳本運行在node.js環(huán)境中。

/**********************************************************************************************************/

javascript的代碼之所以能被執(zhí)行,是因為javascript解釋引擎的存在,每一款瀏覽器都會有JS引擎。瀏覽器外要運行javascript的代碼,同樣需要這個東西。ie老版本的JScript,ie9以后的Chakra,mozilla的SpiderMonkey,chrome的v8,Safari的Nitro,KDE Konqueror的KJS,js之父用javascript寫的Narcissus,java語言寫的Rhino,等等,都是js引擎,都能獨立在瀏覽器之外運行。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容