convertir coffee javascript coffeescript

javascript - coffee - js to coff



Funciones en CoffeeScript (6)

Estoy tratando de convertir una function de Javascript a CoffeeScript. Este es el código:

function convert(num1, num2, num3) { return num1 + num2 * num3; }

¿Pero cómo puedo hacer eso en CoffeeScript?

Estoy intentando ejecutar la función desde una fuente HTML como esta:

<script type="text/javascript" src="../coffee/convert.js"></script> <script type="text/javascript"> convert(6, 3, 10); </script>

Pero no funcionará y me sale un error que dice: ReferenceError: Can''t find variable: convert

¿Cómo corregir esto?



En el nivel superior de su archivo coffeescript, este (aka @ ) debe referirse a la ventana . Entonces, para adjuntarlo aquí, puedes usar la taquigrafía:

@convert = (num1, num2, num3) -> num1 + num2 * num3

Sin embargo, tenga en cuenta que esto contamina el espacio de nombre global. La solución publicada por jm- es más prudente. Pero puedes reemplazar

window.App = {}

con

@App = {}

El beneficio de usar @ es que se refiere a global en node.js, por lo que puede usar el mismo código para exponer sus funciones tanto en el navegador como en el entorno del servidor.


La respuesta de @lawnsea es genial.

Solo quiero agregar algunos pensamientos.

En lugar de contaminar el espacio de nombre global, prefiero agregar solo una variable al objeto window .

window.App = {}

Luego, puedes tener acceso a la App globalmente y agregar todas tus cosas ahí. la función convert ahora se puede expresar de esta manera:

App.convert = convert = (a, b, c) -> a + b * c

Luego, para llamar a la función dentro del alcance local

convert 1,2,3

Y ahora globalmente

App.convert 1,2,3



convert = (num1, num2, num3) -> num1 + num2 * num3


window.convert = (num1, num2, num3) -> num1 + num2 * num3