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

第一次写原创技术文章,斗胆发过来,看看有啥错

  •  
  •   zhangolve · 2017-07-23 16:12:55 +08:00 · 2981 次点击
    这是一个创建于 2441 天前的主题,其中的信息可能已经有所发展或是发生改变。

    说起来,以前也翻译过几篇技术文章,翻译技术文章的好处就是不用对文章内容负责,但是自己写原创技术文章,好像还是头一次,用几个小例子说说 JavaScript 事件处理几个坑 ,大家看看吧。

    PS:发在了 medium 上面,也没有装 x 的意思,就是因为想用 jsfiddle,国内博客系统,和我自己个人博客都不支持。 PS2:拖延症也是挺严重,这篇可能写了有将近两个月,断断续续,总觉得理解的不是很好。

    13 条回复    2017-07-31 08:12:35 +08:00
    xyjtou
        1
    xyjtou  
       2017-07-23 16:57:42 +08:00 via Android
    打不开是什么鬼? js 和 php 在 V 站不是很受待见哇
    xyjtou
        2
    xyjtou  
       2017-07-23 16:58:50 +08:00 via Android
    哦,看了 URL 才知道要放云梯
    xoxo419
        3
    xoxo419  
       2017-07-23 19:27:42 +08:00   ❤️ 1
    @xyjtou 那 V 站待见什么 ?
    Gcourage
        4
    Gcourage  
       2017-07-23 19:39:24 +08:00 via iPhone
    已经很棒了,自己也很想写博客,拖了三年还是没去写。时间都拿来看视频了……
    xyjtou
        5
    xyjtou  
       2017-07-23 19:48:29 +08:00
    @xoxo419 果粉和 Py 吧
    zhangolve
        6
    zhangolve  
    OP
       2017-07-23 20:46:23 +08:00 via Android
    @xyjtou 嗯,我说了,放 medium 上了。
    zhangolve
        7
    zhangolve  
    OP
       2017-07-23 20:47:04 +08:00 via Android
    @Gcourage 有学习就好
    LioMore
        8
    LioMore  
       2017-07-23 20:49:27 +08:00
    @zhangolve 楼主可以让博文更美观一些

    推荐阅读「中文文案排版指北」 https://github.com/sparanoid/chinese-copywriting-guidelines
    zhangolve
        9
    zhangolve  
    OP
       2017-07-23 21:08:08 +08:00 via Android
    @LioMore 嗯,收了,其实我以前用 markdown 的,只是这次用 medium 没有 md。
    LioMore
        10
    LioMore  
       2017-07-23 22:05:13 +08:00
    @zhangolve 和用不用 markdown 没有关系。主要是中英文之间的空格和标点符号的使用等。
    zhangolve
        11
    zhangolve  
    OP
       2017-07-24 13:00:16 +08:00
    @LioMore 你提醒的对,我会再校正的。
    autoxbc
        12
    autoxbc  
       2017-07-30 06:54:42 +08:00
    和楼主探讨一下

    「结论:在 addEventListener()和 removeEventListener() 所有参数( event,Handler,useCapture )全部一致的情况,且第二个参数非匿名函数的情况下,可以认为是同一个事件处理程序。其他情况,都不能认为是同一个事件处理程序」

    我觉得,判断为同一事件处理程序的关键,并不是 Handler 是具名函数,而是要求两次的 Handler 指向同一个对象。只要是同一个函数对象,不管是什么形式,都认定为同一事件处理程序。

    所谓同一个对象,包括但不限于
    1. 一个全局函数对象
    2. 一个局部具名函数对象,在第一次被指定为 Handler 后,一直没有销毁,直到第二次被作为 Handler
    3. 一个匿名函数,以某种方式把其指针保留下来,并被第二次作为 Handler

    无论是多次监听认定为同一个 Handler 而只触发一次,还是监听后能否正确移除监听,判断标准都是这样。
    zhangolve
        13
    zhangolve  
    OP
       2017-07-31 08:12:35 +08:00
    @autoxbc 抱歉才看到,同意你说的。事实上,我文中最后的一个关于闭包的例子,也是在说明你这个需要同一个对象的事实。现在想来,其实那个结论还是啰里啰嗦没有把问题的核心说清楚,谢谢,感觉你点到了问题所在。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3276 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 10:47 · PVG 18:47 · LAX 03:47 · JFK 06:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.