草庐IT

coffeeScript

全部标签

javascript - 将一个 ES6 类分解成多个文件

这个问题在这里已经有了答案:SplittingupclassdefinitioninES6/Harmony(2个答案)关闭7年前。使用JavaScript“类”(我知道这不是真正的类),可以通过将方法放在单独的文件中来分解一个大的定义,如下所示:varFoo=function(){console.log('initializingfoo');};Foo.prototype.render=require('./render');但是对于ES6类,语法似乎排除了这种方法——似乎方法总是必须在类block中编写为函数文字。我triedthis在6to5REPL中:classFoo{const

javascript - jQuery 文件上传不显示预览

jQueryFileUpload插件当前不显示所选文件。有谁知道我该如何解决这个问题?我已经实现了“自定义”模板(见下文);注意我不需要显示以前上传的Material,因此没有下载模板。我已经检查(通过日志记录)正在调用add回调,并且正在调用uploadTemplate函数并返回预期值——出于某种原因值根本没有附加到演示表中。$('#fileupload').fileupload(acceptFileTypes:/(\.|\/)(gif)$/iuploadTemplateId:nulldownloadTemplateId:nulluploadTemplate:(obj)->rows=

javascript - 为什么 e += 1 和 e = e + 1 在 CoffeeScript 中的编译方式不同?

我一直认为+=1和=+1在JS中具有相同的语义。现在,此CoffeeScript代码在应用于全局变量e时会编译为不同的JavaScript。:a:->e=e+1b:->e+=1请注意b使用全局变量,而a定义一个局部变量:({a:function(){vare;returne=e+1;},b:function(){returne+=1;}});Tryityourself.这是错误还是有原因? 最佳答案 我想我会称这是一个错误,或者至少是一个未记录的边缘案例或歧义。我在文档中没有看到任何明确指定何时在CoffeeScript中创建新局部

javascript - 为什么 coffeescript 会生成这样的类?

给定以下coffeescript代码:classAnimalconstructor:(@name)->speak:(things)->"Mynameis#{@name}andIlike#{things}"这是生成的:varAnimal=(function(){functionAnimal(name){this.name=name;}Animal.prototype.speak=function(things){return"Mynameis"+this.name+"andIlike"+things;};returnAnimal;})();但为什么没有生成这个更符合地道的代码呢?varA

javascript - 从 jQuery 回调中引用 CoffeeScript 中的父类

我是CoffeScript的新手,我想知道是否有一种方法可以在不引用全局变量app的情况下编写以下代码:classAppconstructor:->@ui=ui.init()$('#content-holdera[rel!=dialog]').live'click',->link=$(@).attr'href'app.loadUrllinkreturnfalseloadUrl:(href)->#...app=newApp()使用粗箭头不起作用,因为那样我就失去了对jQuery对象的引用,即classAppconstructor:->@ui=ui.init()$('#content-ho

javascript - 确认 ES5 支持

在Javascript(CoffeeScript)前端应用程序中,最好和最简单的方法是什么来通知用户他们的浏览器不受支持,而不是让它在用户随机点击不支持的ES5功能时对其进行故障转移?比如说,我正在为现代浏览器写一些东西,我想避免旧浏览器在我的代码使用ES5引入的功能的任何地方遇到的无数故障......通过阻止非-兼容ES5的浏览器?ES5引入了一些语法特性,其中一些我相信CoffeeScript依赖,如果浏览器不支持ES5,我希望我的代码以某种方式避免开始执行,而不是调整垫片、使用Modernizr或检查每个CoffeeScript语法子集来计算它是如何向后支持的。对于世界其他地区,

javascript - 迭代 coffeescript 中的字符串而无需创建数组

我的代码中有几个地方需要遍历字符串并逐个字符地执行操作。我的node.js应用程序需要为每个请求执行数十次此操作,而且字符串的长度通常可能相当长。我见过将如下所示的javascript转换为coffeescript的唯一方法是根据字符串的长度创建一个数组。我遇到的问题是它在硬件方面是一件额外的事情,占用额外的内存,而且似乎没有必要(我的节点应用程序处理dgrams-每秒高达数千-所以所有这些额外的工作加起来)。JavaScript方式:for(vari=0;i建议的CoffeeScript方式foriin[0..str.length]#Dostuffhere再次强调,从硬件的Angul

javascript - 使用 Coffeescript 计算对象中的键数

我想知道我的coffeescript对象中有多少个键。我可以用js做到这一点:Object.keys(obj).length有没有办法在Coffeescript中做到这一点? 最佳答案 Object.keys(obj).length它在coffeescript中应该以同样的方式工作seeexample 关于javascript-使用Coffeescript计算对象中的键数,我们在StackOverflow上找到一个类似的问题: https://stackove

javascript - 用于 coffeescript 的 textmate 包

我正在尝试为coffeescript添加textmate包。我已经按照github上的说明进行操作-https://github.com/jashkenas/coffee-script-tmbundle当我尝试编译和显示JavaScript时,出现以下错误-/tmp/temp_textmate.8hqQGD:line12:coffee:commandnotfound我相当肯定这是因为我的路径在textmate的首选项中不正确。我正在尝试按照有关此问题的说明进行操作-CoffeeScriptTextMateRunCommand但我一定是做错了什么,因为它不起作用。当我做whichcoff

javascript - CoffeeScript 是否支持单引号字符串中的插值?

我来问这个问题:f=(param)->console.info'#{param}'f(1)结果是#{param}当我用双引号将字符串括起来时,这只会打印1。我也在Ruby中测试过它,它的行为是一样的。但这正好与CoffeeScript.org中的规则相矛盾:CoffeeScript的黄金法则是:“它只是JavaScript”。因为我觉得在Javascript中,单引号和双引号是平等对待的。而且我不经常使用Ruby。谁能解释一下为什么?非常感谢。 最佳答案 来自CoffeeScriptdocumentation:Ruby-styles