V2EX 首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
V2EX  ›  JavaScript

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

  •  
  •   tumbzzc · 169 天前 · 2974 次点击
    这是一个创建于 169 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    你们项目不包含 .eslintrc 之类的文件吗
        13
    kimown   169 天前 via Android
    统一 airbnb eslint 或 standard 规范
        14
    srlp   169 天前 via iPhone   ♥ 3
    就 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 框架。

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

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