CoffeeScript - 空间问题

时间:2013-05-01 07:20:21

标签: javascript compilation coffeescript

关注CoffeeScript

if eachController.indexOf("Controller.js") isnt -1
  controller = require(controllersFolderPath + eachControllerName)
  controller.register server 

获得遵守此JavaScript代码

if (eachController.indexOf("Controller.js") !== -1) {
  controller = require(controllersFolderPath + eachControllerName);
  controller.register(server);
}

但是当在indexOf之后添加一个额外的空格时,!== -1成为indexOf的一部分。

if eachController.indexOf ("Controller.js") isnt -1
    controller = require(controllersFolderPath + eachControllerName)
    controller.register server

if (eachController.indexOf("Controller.js" !== -1)) {
    controller = require(controllersFolderPath + eachControllerName);
    controller.register(server);
}

只是想知道它是否应该一直关注它的错误或标准语法。

2 个答案:

答案 0 :(得分:1)

是的,如果你做第二种形式咖啡会猜你的意思

if eachController.indexOf (("Controller.js") isnt -1)
    controller = require(controllersFolderPath + eachControllerName)
    controller.register server

大于

if eachController.indexOf ("Controller.js") isnt -1
    controller = require(controllersFolderPath + eachControllerName)
    controller.register server

所以你应该小心不那么难做的咖啡的聪明才智。( - :

答案 1 :(得分:0)

我会完全取消括号'()'并执行此操作:

if -1 isnt eachController.indexOf "Controller.js"
  controller = require "#{controllersFolderPath}#{eachControllerName}"
  controller.register server

我也尝试使用String插值, 即“#{controllersFolderPath}#{eachControllerName}”

习惯后,让您更容易阅读。

您还可以尝试在'indexOf'部分之后添加额外的空格,您将看到咖啡编译器忽略它并且它不会破坏函数调用。