V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
onice
V2EX  ›  前端开发

想学习 Javascript

  •  
  •   onice · 2021-08-15 22:51:46 +08:00 · 1583 次点击
    这是一个创建于 974 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近对 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 的书籍。

    第 1 条附言  ·  2021-08-17 11:11:59 +08:00
    感谢大家回复,参考大家提供的资料,已经在学习了。
    9 条回复    2021-08-17 12:25:43 +08:00
    enchilada2020
        1
    enchilada2020  
       2021-08-15 22:58:23 +08:00 via Android
    把 MDN guide 和 reference 都过一遍就差不多了
    crab
        2
    crab  
       2021-08-15 23:03:57 +08:00
    kop1989
        3
    kop1989  
       2021-08-15 23:04:33 +08:00
    1 、es6 与之前的版本标准多数内容是添加且兼容状态。换句话说,你所学的 JS,并没有“过时”。每种声明变量、声明方法的写法,都有各自的特点以及其区别。

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

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

    4 、上文中 3 、的原因,主要是因为 js 其实是一个四面透风的生态,js 的诞生就是为了实现浏览器的动态化而凑合出来的。所以学习 js,甚至包括 web 前端其实都没有一个既定的套路或者路线。最理想化的是以需求为路线逐渐实践。
    molvqingtai
        4
    molvqingtai  
       2021-08-15 23:12:27 +08:00   ❤️ 3
    https://zh.javascript.info/ 你要的在这里
    musi
        5
    musi  
       2021-08-16 09:00:19 +08:00
    mdn 新手教程
    waiaan
        6
    waiaan  
       2021-08-16 09:36:20 +08:00
    找个视频学吧,你那个网站毫无系统性。
    speedofstephen
        7
    speedofstephen  
       2021-08-16 11:08:33 +08:00
    推荐一本 很好的书《你不知道的 Javascript 》只看上卷就好了, 中下卷不如上卷,但是时间多也可以看。
    wdssmq
        8
    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
        9
    volvo007  
       2021-08-17 12:25:43 +08:00 via iPhone
    你去的网站“过时”啦,虽然现在基本的代码和数据结构差不多,但是你去这个网站学出来,是没有办法适应现在的生产环境的……
    我之前学也迷茫了一阵,现在推荐你去“廖雪峰 javascript”过一遍。廖雪峰学完确实离上生产还有一定距离,但是优势是短平快,一周看完有个大概了解

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

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

    廖雪峰虽然没有讲流行的 react/vue 等,还是 jquery,但是一来 jquery 并不影响你学习 js 的基础,二来现在还是有很多公司和网站仍然采用 jq,他们的代码仍然有很多值得学习的地方
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3490 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 11:45 · PVG 19:45 · LAX 04:45 · JFK 07:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.