/ / Prečo nie sú funkcie mojich kávovarov z môjho HTML kódu k dispozícii? - Ruby-on-rail-3, rozsah, coffeescript, Ice-coffeescript, coffeescript-resources

Prečo nie sú môj funkcie pre funkciu coffeescript k dispozícii z môjho HTML kódu? - Ruby-on-rail-3, rozsah, coffeescript, Ice-coffeescript, coffeescript-resources

Používam koľajnice - chrbticu, drahokamy v mojej koľajnici 3.2.6.

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

toto je súbor skriptu blog.js.coffee, ktorý produkuje:

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

Musím zavolať square() v inom súbore pohľadu.

Ako to môžem nazvať? Je nejaká vec zle, čo robím?

odpovede:

2 pre odpoveď č. 1

Celý váš kód v programe Coffeescript bude vo vnútri samozvanej anonymnej funkcie.

Ak ho chcete zavolať mimo súbor, stačí napísať:

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

alert(square(5)) v inej funkcii

Najlepšie, čo môžete urobiť, aby ste nepoužívali prílišné okno, je objekt aplikácie, ktorý bude obsahovať všetky vaše premenné.

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

a potom alert(App.square(5))


-1 pre odpoveď č. 2

Volajte to ako bežnú funkciu JavaScript:

<script>
square(5)
</script>