学习node.js是否需要先学习Javascript?
大家讲道理
大家讲道理 2017-04-10 14:27:38
[JavaScript讨论组]

最近和朋友要做一个项目,本来打算用java来做,但感觉学习曲线太大,所以决定采用node.js,想问一下学习node.js是否需要先学习Javascript?然后求推荐点入门书籍或资料。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(19)
高洛峰

浏览器端完整的JavaScript实现是由以下3个不同部分组成的:ECMAScript、文档对象模型、浏览器对象模型。

对于服务器端,以上三部分你就只需要看ECMAScript相关的内容就行了,剩下的东西是Node.js独有的知识点,看官方文档即可。

PHP中文网

肯定的啊 因为node.js 就是在服务器端执行的javascript

PHPz

Node 的曲线未必比 Java 要平缓, Javascript 必须是基础,浏览器部分不必看,但是想学好,犀牛书是一定要看的。

要说快速上手,Python 或 PHP 吧,不说提高,只论快速做出东西, 这俩对付起来速度还挺快。

黄舟

你问的这个问题就像是问看英文书要不要学习英语一样
Node的资料可以看Cnode社区的汇总:
千里之行始于足下,node.js资源中文导航

天蓬老师

楼上说的很有道理,java太麻烦,用了python以后不爱再用java了,ruby on rails web项目已经完美了。php的laravel可以说事php 的ror,CI更简单,但是理念没有Laravel先进。要是连javascript还要现学的话还不如学一下php,再用个mvc框架呢。js想写好真不太简单,更别说nodejs 在express框架

大家讲道理

答案是肯定的,而且你还必须非常精通js...我就是死在这个上面的...祝你好运

PHP中文网

如果我说不用是不是会被吐槽。因为我是几乎0基础上手nodejs的。不过如下知识是必备的:
1、一门其他语言的使用经验,如php,c++等
2、熟悉面向对象思想,还有js的面向对象和模块化的编程思想
3、熟悉nodejs的异步模型,其实说白了就是异步回调的基本原理。
4、熟悉json的使用

如果是做web开发,恐怕要从express开始,一些url解析的知识也是必备的。

黄舟

我在只会写alert("hello world!")时,开始了写nodejs,nodejs入门并不难.
照着一些案例代码写,开始可能很不习惯异步的写法,于是就使用async库.
传统数据库设计不够简介,于是就使用levelup.
当然javascript的特性不了解难免会
采坑,边采边写吧,理解和记忆都会很深刻.
比如在异步里不小心用了全局变量,就使用变量时少写了var,就悲剧了.

黄舟

Javascript编程精粹
Node.js编程指南

巴扎黑

以我个人的经历来看,不需要。

前端的 JavaScript 教程很多时候有很多奇怪的关注点,比如说 undefined 与 null 有哪些区别啊,为什么 == 不如 === 啊(我观察了一下,我写的所有小 Node.js 项目这两者毫无区别),或者莫名其妙的东西相加起来的和是什么。相反,我在 Node 里遇到的几乎所有对象都是……我也不知道叫啥了,对应 C 的 POD?

而且现在后端用 Traceur 那么方便,transpile 一下 ES6 就可以上了,都不需要看原型链就能写 class,多好。

需要注意的几个点大概有:

  • 异步概念本身,数据真的只能在回调函数里用啊。这个看似很好理解,但是要形成直觉要不少时间。
  • 对必包理解的要好。看看 SICP,做做 2.2.4 那章节,或者用 JavaScript 写个 parser combinator?我没写成就是了……
  • 知道 this 的实现方法:func.call(thisPtr, ...),这样你给对象写异步函数就不会死了。
  • 熟悉一下 ES6 的 Generator,如何用它解决 callback-hell。我现在想通了,千万不要看什么教程,你直接对着 Generator 撸,搞懂了基本的语法自己去构造解法。提示:generator 是可以通过 yield 暂停的。检验搞没搞懂的方法?suspend.js v0.5.0 有个 bug,题主能看出来对 Node 这坨乱七八糟的东西就有个大概的了解了……

那个 bug 真坑爹啊……

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号