Udi*_*Udi 7 jquery porting coffeescript
CoffeeScript似乎是一项很有前途的新技术,我肯定会在下一个项目中试一试.
似乎jQuery可以很容易地与CoffeeScript一起使用 - 但是将jQuery完全移植到CoffeeScript(以同样的方式移植下划线)是否有意义,或者它只是浪费时间?
Underscore只是为了演示CoffeeScript的强大功能和简洁性.此外,带注释的CoffeeScript源为CoffeeScript中的熟悉者提供了更清晰的文档.但官方版本仍然保留在纯JS中,而不是从CoffeeScript编译.
我认为,类似地,将jQuery移植到CoffeeScript是有意义的,以便好奇的编码器可以享受带注释的源代码,这将使库的内部工作更清晰.jQuery受益于足够强大的JavaScript程序员的注意力,我怀疑将其移植到CoffeeScript会有什么改进.
不过,我很乐意看到有人这样做,假设他们制作了具有相同行为的漂亮代码.有一件事我觉得适配器将不得不认真考虑的是如何端口命名函数(function foo())以无名函数(foo = function()),因为CoffeeScript的只支持后者(由于在某些情况下,跨浏览器的不一致)和两个具有不同的范围的行为.JavaScript ==不应该是一个问题,因为我可以发现它在jQuery源中使用的唯一情况是x != null,可以在CoffeeScript中使用x?.
纠正Coffeescript是一个Javascript生成器.同样正确的源代码可以更清楚.绝对没有任何技巧,可以在不能在CoffeeScript中做JS做 - 你可以拖放到纯JS如果你需要 - 我不知道我听说过任何人都需要做到这一点的.如果你想放入Javascript,只需将表达式括在反引号中:
`var foo = 42`
Run Code Online (Sandbox Code Playgroud)
我不同意代码是"更大".我会断言代码中的大多数额外字节是你应该插入的但无论如何都没有 - 就像在你自己的代码周围添加命名空间包装一样.在某些情况下,Coffeescript拥有聪明的帮助器,可以分解常见的使用模式,因此它们不会被一次性编码.你可以通过读取生成的js来弄清楚这些是哪些.
在优势方面,我想这很大程度上取决于你对代码的看法.我喜欢在类中封装一个功能块并且讨厌基于Javascript原型的对象定义.Coffeescript在声明类和继承方面更像Rubyish或Pythonesque.
我给你的建议是:1)获取Trevor Burnham的Coffeescript书,体会Coffeescript在实践中的运作方式; 2)拼凑一些简单的例子来解决你的用例; 3)熟悉语法后,看看你喜欢它.
注意:Coffeescript Google Group是一个很好的资源,人们可以快速回答问题 - 很可能有人遇到过令你困惑的事情并且会分享答案.特雷弗在他的书中列出了一整套资源.(不,我没有得到报酬给他道具:)
考虑到 coffescript 只是编码 javascript 的另一种方式,因此您在 javascript 中可以做的所有事情都可以在 coffescript 中完成,反之亦然......
很明显,coffescript 的唯一优点是源代码更清晰,这使得它更容易阅读和编码。缺点是 coffescript 生成的 javascript 很可能会比当前的要大得多.. 对于库来说这是一个相当大的问题...
因此,对于试图了解 jQuery 工作原理的人们来说,有一个 coffescript 版本作为文档文档会很有趣,但在主代码中使用 coffescript 不会有任何不同
| 归档时间: |
|
| 查看次数: |
1881 次 |
| 最近记录: |