Typescript - 自执行匿名函数

问题描述 投票:0回答:5

如何使用类型脚本创建自执行匿名函数?

例如

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

我想要构建一个可以适用于 Node.js 的插件,也适用于前端。

javascript typescript
5个回答
38
投票
/**
 * Self executing anonymous function using TS.
 */
(()=> {
    // Whatever is here will be executed as soon as the script is loaded.
    console.log('executed')
})();

我想要构建一个可以适用于 Node.js 的插件,也适用于前端。

在这种情况下,您应该在 AMD 中编译 TypeScript 并在前端使用 AMD 加载器,例如 http://requirejs.org/docs/start.html

在服务器端,您还需要使用

requirejs
节点包来加载文件。看看这个:http://requirejs.org/docs/node.html

基本上有两种方法将 TS 编译为 JS,使用 AMD(兼容浏览器)或使用 CommonJS(兼容 Node.js)。在浏览器或服务器中加载AMD脚本需要使用AMD兼容的加载器,*requirejs**就是其中之一。 (我想说的是最著名/最常用的)


3
投票

TypeScript 中的第一条规则:任何有效的 JavaScript 都是有效的 TypeScript。

不,目前还没有特殊的方法可以在 TS 中编写自执行匿名函数。

但是,下面是一些可能对您的情况有用的代码。

TS 中的每个类都被编译为(命名的)自执行匿名函数,该函数返回一个函数。

示例:

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

翻译为

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

希望这对您有所帮助。


0
投票

Typescript 中的自动执行、立即、递归顶级 React 函数:

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

0
投票
let sum=(function (a:number, b:number){
        return a+b;
})
console.log(sum(10,5));

-3
投票
(function(){
    document.body.innerHTML = "Self Calling Function";
}.call(this));
© www.soinside.com 2019 - 2024. All rights reserved.