1

关注 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);
}

只是想知道它是我应该始终关心的错误还是标准语法。

4

2 回答 2

2

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

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

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

于 2013-05-01T07:25:36.363 回答
0

我会完全取消括号'()'并这样做:

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

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

习惯后阅读起来会更轻松。

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

于 2013-05-01T12:03:28.883 回答