zoukankan      html  css  js  c++  java
  • CoffeeScript飞一样的写javascript

      之前看到同事在使用coffeescript写js,当我看到那简介的coffee文件,就深深的被coffescript吸引了,简洁的语法,熟练之后会大大提升javascript的开发速度,写脚本也能像飞一样。

     
     学习资料:
    推荐资料: 

    CoffeeScript 详解  https://ruby-china.org/topics/4789 

     
    会ruby语言的同学轻松上手,不过coffeescript的语法是相当简单的,看一遍官网,你绝对会有想要试试的冲动,请不要抑制这股冲动,放手去写个demo吧,只有亲自体会过后你会更加喜欢coffeescript
     
    前人已经介绍了很多coffeescript语法,我这里就不再赘述了,下面说一下自己写完一个demo的感觉。
    我用coffeescript写了一个悬浮选择颜色标签的jQuery插件,代码很简单,目的是练习嘛。
    demo代码参考:  http://runjs.cn/code/v0rmoroh 
     
    1.函数返回语句
     coffeescript生成的js中,会对每个方法生成returen语句,默认返回函数的最后一行,考虑有的时候并不是每个函数都必须返回,所以这一点有点不习惯,所以我在对不需要返回的函数末行都写了false. 
     其实返回this最好,但要注意this在上下文的含义,我在写demo时遇到的问题是,为元素绑定点击事件,就是因为 $.each() 返回的是this结果导致事件被触发了多次,最后修正还是返回false踏实一些。
     
    2.函数调用
     对于调用有参数的函数还好,直接 functionName arg1,agr2  。 如果是无参数函数,还是需要显示调用,就是加上小括号: functionName() 
      还有就是嵌套调用,这个也是需要自己显示的加上括号以及传递参数。 
      例如: offset.top += (parseInt ele.css 'height' )+5
                    --->
                offset.top += (parseInt(ele.css('height'))) + 5; 
     
     链式调用时使用 '.' 点号来进行连接,跟一般链式没有区别
     
    3. 记得编译时加入-w参数
      -w 参数的意义在于,你在开发阶段,没保存一次coffee文件就被自动编译成.js文件。
     
    4.注释
     coffeescript中的注释是# 如果使用//  或者/**/ 在编译时会报错的
     遗憾是,在coffee文件中的注释在编译好的js中注释都被去掉了,所以在阅读js时没有注视的感觉,唉~
     coffeescript 注释方式:
      
    ###
    这里是注释
    ###

     另外一点,块注释一定要紧紧放在被注释的代码上面,否则会编译出错,千万不要如下图:

     

     --补
        感谢 @ 枉然不供 提供的注释方式.
     
     
    目前就这么多,后续有问题在更新上来,继续学习coffee语法。
     
    我相信熟练使用coffeescript后在配合vim 写javascript飞一样的感觉是不会远了。
     
  • 相关阅读:
    Key-Value Memory Network
    Deep Mask Memory Network with Semantic Dependency and Context Moment for Aspect Level Sentiment Clas
    Deep Memory Network在Aspect Based Sentiment方向上的应用
    Deep Memory Network 深度记忆网络
    Self Attention 自注意力机制
    Attention基本公式及其变种
    *端策略优化算法(PPO)
    Policy Gradient 算法
    一本通 农场派对
    A
  • 原文地址:https://www.cnblogs.com/kids/p/coffee.html
Copyright © 2011-2022 走看看