想学习 Javascript

2021-08-15 22:51:46 +08:00
 onice

最近对 node 很感兴趣,想学一下 node 。但 js 写得少,打算完整过一遍。

于是去了这个网站: https://www.w3school.com.cn/

但是发现实际工程中,JS 好几种写法。

比如教程中定义函数是: function fun1(){}

但我看到有的人这么写: var fun1 = function(){}

比如定义变量,教程中是: var a = "123";

但实际工程中看到有的人却这么写: let a = "123";

看了下 vue 的项目,也摸不着头脑。

不知道是我看的教程过时了还是怎么回事,翻了好多教程,都没见新的写法。

还比如看到类似代码:

axios({
        method: method,
        url: url,
        data: method === 'POST' || method === 'PUT' ? params : null,
        params: method === 'GET' || method === 'DELETE' ? params : null,
        baseURL: root,
        withCredentials: false
    })
    .then(function (res) {
    if (res.data.success === true) {
        if (success) {
            success(res.data)
        }
    } else {
        if (failure) {
            failure(res.data)
        } else {
            window.alert('error: ' + JSON.stringify(res.data))
        }
    }

还听说有 es6 这些东西以及 typescript 。

我怀疑我学的东西都过时了,去狗东搜索了下基本热销的书籍,还停留在 jq 的时代。

有没有大神指明一下学习路线,或者是推荐一些 js 的书籍。

1598 次点击
所在节点    前端开发
9 条回复
enchilada2020
2021-08-15 22:58:23 +08:00
把 MDN guide 和 reference 都过一遍就差不多了
crab
2021-08-15 23:03:57 +08:00
kop1989
2021-08-15 23:04:33 +08:00
1 、es6 与之前的版本标准多数内容是添加且兼容状态。换句话说,你所学的 JS,并没有“过时”。每种声明变量、声明方法的写法,都有各自的特点以及其区别。

2 、如果有足够的编程基础,《 JavaScript 权威指南》(犀牛书)是不二之选。

3 、js 的项目多数都引用了很多的库、框架。极少有纯原生 js,所以你看不懂。

4 、上文中 3 、的原因,主要是因为 js 其实是一个四面透风的生态,js 的诞生就是为了实现浏览器的动态化而凑合出来的。所以学习 js,甚至包括 web 前端其实都没有一个既定的套路或者路线。最理想化的是以需求为路线逐渐实践。
molvqingtai
2021-08-15 23:12:27 +08:00
https://zh.javascript.info/ 你要的在这里
musi
2021-08-16 09:00:19 +08:00
mdn 新手教程
waiaan
2021-08-16 09:36:20 +08:00
找个视频学吧,你那个网站毫无系统性。
speedofstephen
2021-08-16 11:08:33 +08:00
推荐一本 很好的书《你不知道的 Javascript 》只看上卷就好了, 中下卷不如上卷,但是时间多也可以看。
wdssmq
2021-08-16 14:44:22 +08:00
var 而不是 let

在较旧的脚本中,你也可能发现另一个关键字 var,而不是 let:

`var message = 'Hello';`

var 关键字与 let 大体 相同,也用来声明变量,但稍微有些不同,也有点“老派”。

let 和 var 之间有些微妙的差别,但目前对于我们来说并不重要。我们将会在 旧时的 "var" 章节中介绍它们。

-------------------

变量
https://zh.javascript.info/variables#bian-liang
volvo007
2021-08-17 12:25:43 +08:00
你去的网站“过时”啦,虽然现在基本的代码和数据结构差不多,但是你去这个网站学出来,是没有办法适应现在的生产环境的……
我之前学也迷茫了一阵,现在推荐你去“廖雪峰 javascript”过一遍。廖雪峰学完确实离上生产还有一定距离,但是优势是短平快,一周看完有个大概了解

比如你说的这个 axio 的用法,是基于 Promise 这种对象的特殊用法。可以理解为一个容器,里面保存的是未来会发生的某件事情的返回结果(一般异步)
所以这种类型的对象,状态会由“未完成”变为“成功”或者“失败”(还有一个可选的 final 值,不管成功失败都要执行),然后 then 里面就根据成功 /失败分别进行后面的操作

撸几遍廖雪峰之后,看其他的就快了,也可以看高端书了

廖雪峰虽然没有讲流行的 react/vue 等,还是 jquery,但是一来 jquery 并不影响你学习 js 的基础,二来现在还是有很多公司和网站仍然采用 jq,他们的代码仍然有很多值得学习的地方

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/795941

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX