1

Я использую рельсы-позвоночник, драгоценные камни в моих рельсах 3.2.6.Почему мои функции coffeescript недоступны из моего кода HTML?

square = (x) -> x * x alert square(5)

это файл сценария blog.js.coffee он производит:

(function() { var square; square = function(x) {return x * x;}; alert(square(5));

Мне нужно вызвать метод square() в другой режим просмотра файла.

Как это можно назвать? Есть ли что-то неправильно, что я делаю?

ответ

2

Всего код в CoffeeScript будет внутри самостоятельным вызовом анонимной функции.

Для вызова за пределами файла, просто написать:

window.square = (x) -> x * x 

alert(square(5)) в другой функции

Лучшее, что вы можете сделать, чтобы не злоупотребляйте окно является объектом App, который будет содержать все переменные.

window.App={} 
window.App.square= (x) -> x * x 

, а затем alert(App.square(5))

+0

Что такое анонимная функция? – Ponnusamy

+0

Самоназывающая анонимная функция - это функция, которая не имеет имени (** следовательно анонимного **) и вызывает себя. Он используется для защиты кода от доступа извне функции. Вот конкретный вопрос об этом. – edi9999

-1

Вызов его как обычные функции JavaScript:

<script>  
    square(5) 
</script> 
+1

Это не будет работать, пока не будет 'square' функция в области видимости. –

Смежные вопросы