javascript - CoffeeScript |意外的换行符(翻译成java,看起来不错)

标签 javascript coffeescript

我正在为 Framer 编写一些使用 CoffeeScript 的代码。我是 CoffeeScript 新手,但有 Java 和 Python 经验。

我编写了一些代码并尝试运行,但出现意外的换行错误。为了更好地理解这一点,我将我的代码放入 coffeelint.org并得到同样的错误。

所以我尝试将代码分开,但它仍然给出错误,我让另外两个人检查了它,但他们找不到错误:

for data in roomData:
  if data == londonData
    name = 'London'
  else if data == seattleData
    name = 'Seattle'
  else if data == downtownData
    name = 'Down Town'
  else
    name = 'Toyko'

  Card = new Layer

必须在 for 循环中定义“Card = new Layer”。使用 js2.coffee 将其翻译成 JS并且还收到错误。

最佳答案

您添加了不必要的冒号。应该是

for data in roomData # no :
  if data == londonData
    name = 'London'
  else if data == seattleData
    name = 'Seattle'
  else if data == downtownData
    name = 'Down Town'
  else
    name = 'Toyko'

  Card = new Layer

顺便说一句,您可以使用 switch 而不是带有赋值的多个 if-else

for data in roomData
  name = switch data
    when londonData then 'London'
    when seattleData then 'Seattle'
    when downtownData then 'Down Town'
    else 'Tokio'

  Card = new Layer  

关于javascript - CoffeeScript |意外的换行符(翻译成java,看起来不错),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45481371/

相关文章:

javascript - Coffeescript 严格比较

javascript - 使用 CoffeeScript 以编程方式检查复选框

javascript - 向构造函数或原型(prototype)添加属性之间的区别

javascript - 看起来像 Google Docs 的 jQuery 文本过滤器框

javascript - Three.js 使用动画进行光线转换对象选择

Emacs:如何为 coffeescript 生成 etags?

javascript - $.getJSON,回调不运行

javascript - 如何找到加载缓慢的 SAPUI5 应用程序的加载瓶颈

javascript - EventEmitter2 的 require.js shim 配置

coffeescript - 获得咖啡类的名称?