知道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主要是运行在客户端浏览器,帮助用户完成交互操作,渲染页面等。
个人博客:访问
学习如逆水行舟,不进则退,前端技术飞速发展,如果每天不坚持学习,就会跟不上,我会陪着大家,每天坚持推送博文,跟大家一同进步,希望大家能关注我,第一时间收到最新文章。
共同学习,写下你的评论
评论加载中...
作者其他优质文章