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

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

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

共同點

都尊選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主要是運行在客戶端瀏覽器,幫助用戶完成交互操做,渲染頁面等。

我的博客:訪問java

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

公衆號:
公衆號node

相關文章
相關標籤/搜索