2015-05-16 8 views
5

W jaki sposób mogę utworzyć samorozpuszczalne anonimowe funkcje za pomocą skryptu typu?Maszynopis - samoczynne wykonywanie funkcji anonimowych

Na przykład

(function() { 
var someClass = { 
} 
}.call(this)); 

Chcę wbudowane wtyczki, które mogą pracować dla node.js, także dla fron-tendencję, jak również.

+0

Czy twoje pytanie odpowiedzieć? – Vadorequest

+0

nie, ponieważ wszystkie odpowiedzi nie mogą produkować o wyjściu –

+0

W rzeczywistości nie rozumiem, co przez to rozumiesz. – Vadorequest

Odpowiedz

19
/** 
* Self executing anonymous function using TS. 
*/ 
(()=> { 
    // Whatever is here will be executed as soon as the script is loaded. 
    console.log('executed') 
})(); 

Chcę wbudowane wtyczki, które mogą pracować dla node.js, także dla fron-tendencję, jak również.

W takim przypadku należy skompilować swój maszynopis w AMD i użyć ładowarka AMD na frontend, jak http://requirejs.org/docs/start.html

Po stronie serwera, trzeba by użyć requirejs pakiet węzła, jak również do załadowania pliku . Spójrz na to: http://requirejs.org/docs/node.html

Zasadniczo istnieją dwa sposoby kompilacji TS z JS, używając AMD, zgodnego z przeglądarką lub używając CommonJS, który jest zgodny z node.js. Ładowanie skryptu AMD w przeglądarce lub na serwerze wymaga użycia programu ładującego zgodnego z AMD, a * requirejs ** jest jednym z nich. (Najsłynniejszy/używane Powiedziałbym)

2

Pierwsza zasada w TypeScript: Każdy poprawny kod JavaScript jest poprawny TypeScript.

Nie, nie ma specjalnego sposobu na napisanie samoczynnego wykonywania anonimowych funkcji w TS od teraz.

Poniżej znajduje się kod, który może być przydatny w twojej sytuacji.

Każda klasa w TS jest kompilowana do (nazwanej) funkcji anonimowego wykonywania, która zwraca funkcję.

Przykład:

//ts 
class someClass { 
    someProperty = "this is a property"; 
} 

przekłada się

//js 
var someClass = (function() { 
    function someClass() { 
     this.someProperty = "this is a property"; 
    } 
    return someClass; 
})(); 

nadzieję, że to z jakiejś pomocy.

-1
(function(){ 
    document.body.innerHTML = "Self Calling Function"; 
}.call(this)); 
+0

Edytuj odpowiedź, dodając wyjaśnienie. Odpowiedzi tylko na kod niewiele robią, aby kształcić przyszłych czytelników SO. Twoja odpowiedź jest w kolejce moderacji za niską jakość. – mickmackusa

0

własnym wykonaniu, natychmiastowe, rekurencyjne najwyższego poziomu funkcji React w maszynopisie:

(function handleAutomatonTypeChange(newtype: AutomatonType) { 
    ReactDOM.render(
    <Automaton automatonType={newtype} 
       onAutomatonTypeChange={handleAutomatonTypeChange} />, 
    document.getElementById('automaton') 
); 
})('diadic');