知道nodejs嗎?和web端js區別和共性?

知道nodejs嗎?和web端js區別和共性?

這題考察的是面試者對nodejs的瞭解和對js標準的瞭解。

共同點

都尊選ECMAScript語法標準,最新版本是ECMAScript 8(ES2017)

該語法包含了變量定義、 循環、判斷、 函數、 原型、 原型鏈、作用域、 閉包、異步等,ECMAScript只定義語法,但是它不能操作DOM,不能監聽click事件,不能發送ajax請求,不能處理http請求,不能操作和讀寫文件,不能訪問數據庫,只有它,幾乎做不了任何實際的項目。所以nodejs和web標準js都對它進行了功能上的擴展。

不同點

nodeJs

nodeJs主要運行在服務器端,能進行文件讀寫,數據庫連接,網絡連接等操作,而且不存在兼容問題,因爲運行內核是同一個內核v8引擎。同時nodeJs有一些內置變量( __dirname等),和內置的nodeApi。它的功能類似java語言,用來做後端服務。同時node上也有像java一樣流行的框架 express, koa等。

標準js

標準js一般運行在瀏覽器上,所以它包含了,標準語法和DOM(文檔對象模型)和BOM(瀏覽器對象模型)。其中dom主要描述處理網頁內容的方法和接口,將整個文檔document解析成dom樹供用戶使用js對文檔進行處理,BOM描述可以和瀏覽器窗口交互的方法和接口(對象結構),如:window對象,history、location、navigator等,由於瀏覽器內核和版本不一樣,存在很大的兼容問題,簡單理解就是ECMAScript版本一直在更新,但用戶瀏覽器和內核版本不一定能跟上,所以前端程序員要面臨兼容問題,主流做法是用babel來轉義語法,可以看我的另一篇文章,關於babel的babel安裝

總結

可以看出node和webJs有着相同的語法,所以前端js開發人員能很容易學會nodejs,nodejs主要用於服務器搭建,而webJs主要是運行在客戶端瀏覽器,幫助用戶完成交互操作,渲染頁面等。

個人博客:訪問

學習如逆水行舟,不進則退,前端技術飛速發展,如果每天不堅持學習,就會跟不上,我會陪着大家,每天堅持推送博文,跟大家一同進步,希望大家能關注我,第一時間收到最新文章。

公衆號:
公衆號

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章