继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

知道nodejs吗?和web端js区别和共性?

伊泽瑞尔灬
关注TA
已关注
手记 22
粉丝 6
获赞 73

知道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主要是运行在客户端浏览器,帮助用户完成交互操作,渲染页面等。

个人博客:访问

学习如逆水行舟,不进则退,前端技术飞速发展,如果每天不坚持学习,就会跟不上,我会陪着大家,每天坚持推送博文,跟大家一同进步,希望大家能关注我,第一时间收到最新文章。

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP