推荐关注
› Meteor
› JSLint - a JavaScript code quality tool
› jsFiddle
› D3.js
› WebStorm
推荐书目
› JavaScript 权威指南第 5 版
› Closure: The Definitive Guide
TKKONE

想学习 JavaScript,有什么经验和坑吗?

  •  
  •   TKKONE ·
    PRO
    · Jan 6, 2017 · 6949 views
    This topic created in 3589 days ago, the information mentioned may be changed or developed.

    Python 学了快两年,想学学 JavaScript ,不知道大家有没有什么坑和经验可以指教指教~

    45 replies  •  2017-01-22 01:05:31 +08:00
    dantegg
    dantegg
    Jan 6, 2017❤️1
    1
    bzw875
    bzw875
    Jan 6, 2017
    2
    不带这么吓人的,看完《 javascript 高级程序设计》吧
    murmur
    murmur
    Jan 6, 2017
    3
    整个前端都是个大坑 你学了 1 年明年全给你推翻了
    liuchao1986105
    liuchao1986105
    Jan 7, 2017
    4
    http://www.lambda-study.com/topics/583159699c514011425c842b 整理的一些 js 的视频教程和书籍,看是否对你有用
    sensui7
    sensui7
    Jan 7, 2017
    5
    你先决定是否写分号,
    misaka19000
    misaka19000
    Jan 7, 2017
    6
    @sensui7 必须不带分号 XD
    nfroot
    nfroot
    Jan 7, 2017
    7
    @sensui7
    @misaka19000
    早期写 asp 不准写分号
    后来写 php 必须写分号
    后来写 js 随便你写不写:)
    TKKONE
    TKKONE
    OP
    PRO
    Jan 7, 2017
    8
    不写分号!
    zsx
    zsx
    Jan 7, 2017
    9
    @nfroot 其实 ASP 用 JScript 也是随便写不写的……
    nfroot
    nfroot
    Jan 7, 2017
    10
    @zsx 写 js 还是用 node.js 吧 虽然那时候没有…… ASP 默认当然是 VBS 了……但是那时候也有懂 JS 的直接用 JScript ,不过也有可能不少优势(没学过) 最显而易见的问题就是时区…… 真是羡慕嫉妒恨啊。
    scnace
    scnace
    Jan 7, 2017 via Android
    11
    之前听我司某前端说 js 要写分号 不然压缩的时候会出现乱七八槽 不可预知的错误诶… (Gopher 表示写 Js 的时候经常还是会忘 233 ) 最近在看 vue 结合着 gopher-vue 看感觉倒好理解了 233
    ericls
    ericls
    Jan 7, 2017
    12
    楼上那些说分号问题的。。。。

    你们项目不包含 .eslintrc 之类的文件吗
    kimown
    kimown
    Jan 7, 2017 via Android
    13
    统一 airbnb eslint 或 standard 规范
    srlp
    srlp
    Jan 7, 2017 via iPhone❤️3
    14
    就 js 这门语言本身,看 mozilla 的介绍就够了。

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide

    学的过程你也许会有类似 python 的即时感,没错它们的新版特性应该有互相借鉴。上述过程坑的,是 js 的一些黑暗属性,那是类似 c++ 坑的历史遗留问题,尽量按照最佳规范避开或者写最新标准的代码就好了。

    坑无穷多的其实是前端开发。学会 js 本身没啥用,主流的用途当然是配合前端开发。当然了纯后端 nodejs 环境也不是不可以,那就成了和 py web 开发没啥区别了。

    接下来学的前端开发路径可以是:知道 nodejs 和浏览器 js 的差别和应用场景,了解前端的各种概念比如说 dom 和 ajax 和 promise 等(其实就是各种 api 和设计模式),然后就是搭建前端开发全家桶比如说 node+babel+webpack (一堆很复杂的东西,类似 c++ 环境的编译器 makefile 等等,没错写最新版 js 需要编译器把它编译成旧版的),然后是选择一些前端框架来学比如说 react vue angular (强烈不推荐 angular 作为入门, react vue 的上手曲线比较平缓)。

    既然前端开发,陆陆续续肯定会顺手把 html css 学了。 css 也是一个大坑,只兼容新浏览器的话可以考虑全用 flexbox 实行布局。不想纠结这方面的话请用 bootstrap 框架。

    个人吐槽一下,前端开发与其说繁荣不如说混乱。现在像是三国混战,也许过几年就好了。入坑需谨慎啊。
    ╮(╯▽╰)╭
    beidouxun
    beidouxun
    Jan 7, 2017 via Android
    16
    你让我写。我会个皮毛。你让我改!我连自己都不相信我竟然会那么多!
    ruolis
    ruolis
    Jan 7, 2017
    17
    我还是习惯写分号的
    k9982874
    k9982874
    Jan 7, 2017 via iPhone
    18
    先只精通 js 和 css ,其他什么 typesctipt coffee less sass 什么的都别管
    finely
    finely
    Jan 7, 2017 via Android
    19
    别上来就学框架,不然你会哭的。前端框架和工具一年一变,先打好坚实的基础,再用框架。
    TKKONE
    TKKONE
    OP
    PRO
    Jan 7, 2017
    20
    @k9982874 你说什么?后面的名词都没听过 /笑 cry

    @finely 我连基础都不会~
    heraldboy
    heraldboy
    Jan 7, 2017
    21
    你不像已经学过几年语言的程序员,重要的是开始用,不要把学语言当成备单词。
    TKKONE
    TKKONE
    OP
    PRO
    Jan 7, 2017 via Android
    22
    @heraldboy 我本来就不是程序猿
    itkdqwzero
    itkdqwzero
    Jan 7, 2017❤️1
    23
    前端:
    语言基础打好就可以学框架了, jQuery 不算什么框架, 不过是高兼容性的类库. 原生的 querySelector 及 DOM 操作要会点
    基础方面, 你要知道字符串, 数组, 及数字的各种操作, 要知道什么情况下,reduce 的速度比其它遍历方式快.
    instance 继承判断与原型链要会, 难的是读别人的插件, 更难的是做插件.
    js 的设计模式可以看看
    itkdqwzero
    itkdqwzero
    Jan 7, 2017
    24
    遇到 coffeeScript 编译出来的的真是无语, 很多东西用各种技术进行编译,打包, 有时 github 上的插件要求打包环境. 单单安装环境就烦死你
    fzhw88
    fzhw88
    Jan 7, 2017
    26
    js 还是挺好学的,框架那是另一回事。
    fzhw88
    fzhw88
    Jan 7, 2017
    27
    发现楼上居然有说分号的,你们学一门语言,最基本的规范都不遵守?写个分号这么好的习惯又不花力气还能省很多麻烦,这都要省掉我是不能理解的。。。
    maysixteenth
    maysixteenth
    Jan 7, 2017
    28
    https://segmentfault.com/a/1190000004652898?_ea=680358
    之前在 sf 上看到的,相互学习
    xwartz
    xwartz
    Jan 7, 2017 via iPhone
    29
    @fzhw88 不见得写分号是好习惯啊…
    fzhw88
    fzhw88
    Jan 7, 2017
    30
    @xwartz 额,那还真不知道有啥坏处,请教一下?
    GreatMartial
    GreatMartial
    Jan 7, 2017 via Android
    31
    你不是玩 Python 吗?为啥又要学前端...
    感觉还不如找门主力语言再往下深入学。
    Python 现在好玩的东西很多,比如深度学习😂
    xwartz
    xwartz
    Jan 7, 2017 via iPhone
    32
    @fzhw88 知乎上有讨论该不该写分号, https://www.zhihu.com/question/20298345/answer/14670020
    fzhw88
    fzhw88
    Jan 7, 2017
    33
    @xwartz 看了一下,这个还是假设: 1 ,人会忘记写分号, 2 ,人会不遵守 js 的规则在每个语句后都写分号,但是如果一开始就养成了好习惯,我觉得完全不存在这些问题。我只能说正确的写分号在多数情况下都有利于代码的理解,当然分行也基本能做到这一定,代码压缩借助好的工具肯定也能解决,说到底还是看个人习惯吧。 js 有明确的规则什么时候能省略分号,什么时候不能,只要遵循规则就行,非要说我都不写分号,全靠工具来加,我觉得这实际上是不理解基本的语句规则,那哪天没有工具,只是需要在控制台测试一段代码,都不知道哪些分号不能省那不是只能抓瞎了……
    fzhw88
    fzhw88
    Jan 7, 2017
    34
    总结一下就是 js 的分号本来就是可选的,而且有明确的规则,至于你写不写,本来就是你的自由,只要别搞错了就行,而且个人认为这个规则算是很简单的了。
    Swift3030
    Swift3030
    Jan 7, 2017
    35
    自己作死,学什么 JS
    lnkn
    lnkn
    Jan 7, 2017
    36
    看标题的时候我第一想法是:
    想去学学 Python 吧,看了贴才知道...
    viosey
    viosey
    Jan 7, 2017
    37
    根据框架再决定写不写分号咯,比如 vuejs 我就不写
    an168bang521
    an168bang521
    Jan 7, 2017
    38
    先学原生 JS ,在学 jQuery ,然后再框架;这样不会被坑;
    如果上来就学框架,会发现所有框架都会坑你!
    dreamingincode
    dreamingincode
    Jan 7, 2017
    39
    1. 别用 == 用 ===
    2. 别用 for...in 用 for...of
    3. "use strict";
    heraldboy
    heraldboy
    Jan 7, 2017
    40
    @tumbzzc 我也不是,但这多年没少写了,工作需要,所以给你的建议就是一定要用起来,不用考虑那么多,现在是坑,可能以后就不是了,对别人是经验到你这可能是呵呵。
    Maxbee
    Maxbee
    Jan 7, 2017 via iPhone
    41
    @dantegg 吓尿了😂
    bigdogbigpig
    bigdogbigpig
    Jan 7, 2017
    42
    把 js 看成一门语言,不要看成前端。
    mingyun
    mingyun
    Jan 7, 2017
    43
    js 学好不容易,现在更新太快了
    aleen42
    aleen42
    Jan 8, 2017 via Android❤️1
    44
    我覺得最好還是打好基礎,從犀牛書看到高性能 JavaScript ,以及數據結構及其部分算法。切記不要浮
    poke707
    poke707
    Jan 22, 2017 via Android
    45
    请问今时今日要打语言基础的话,看 <You Dont Know JavaScript >会不会比犀牛书更好呢?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2157 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 143ms · UTC 16:03 · PVG 00:03 · LAX 08:03 · JFK 11:03
    ♥ Do have faith in what you're doing.