JS++ 模块

JS++ 模块

模块提供了一种组织代码的方式,并将一个应用程序划分为更小的部分。例如,一台个人电脑可以被分为键盘、鼠标和显示器 “模块”,它们可以分别连接。

理想情况下,在模块化设计中,我们希望我们的模块是独立的 “可重复使用”。一个PS/2键盘可以连接到任何有PS/2端口的机器上,因为它不是为个别机器定制的。同样地,在软件方面,你的公司或组织可能有多个需要认证的应用程序。与其为每个单独的应用程序重复编写登录和认证代码,你可能想通过一个单一的模块暴露认证功能。

JS++中的模块可以使用 “模块 “关键字来声明。

创建一个名为 “计算器 “的文件夹。在该文件夹中创建一个名为’Calculator.jspp’的文件,并添加以下代码。

module Calculator
{
    int add(int a, int b) {
        return a + b;
    }
    int subtract(int a, int b) {
        return a - b;
    }
}

然而,我们不能只在同一个文件中执行模块代码。JS++鼓励 “模块化设计”,要求你的模块与你的主程序逻辑分开。

主文件

主文件 “是应用程序的入口点。换句话说,你在告诉JS++编译器,”我的应用程序从这里开始”。JS++只允许一个应用程序入口点。让我们从一个例子开始;创建一个名为 “main.jspp “的文件,用以下代码导入我们的 “计算器 “模块。

import Calculator;
external ;

int result = Calculator.add(1, 1);(".display-result").text(result);

这里有很多事情要做,所以让我们把它分解一下。在前面的章节中,我们使用 “外部 “关键字导入JavaScript库。在我们上面的代码中,我们仍然使用’外部’关键字导入jQuery(一个JavaScript库)。然而,要导入Js++库(用 “模块 “关键字定义),我们需要使用 “导入 “关键字。这是一个重要的区别,因为它允许我们隔离不安全的JavaScript代码。

import “语句希望得到完整的模块名称。在我们的简单例子中,完整的模块名称只是’Calculator’。JS++知道该怎么做。

接下来,我们使用 “计算器 “模块中定义的方法之一:”添加 “方法。我们简单地添加1+1,并将结果存储在’结果’变量中。然后我们使用jQuery来显示我们的计算结果。

让我们创建一个calculator.html文件来显示我们的结果。

<!DOCTYPE html>
<head>
    <title>Calculator</title>
</head>
<body>
<div class="display-result"></div>

<script src="http://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="app.jspp.js"></script>
</body>
</html>

编译Calculator.jspp和main.jspp两个文件。对于Windows,这很简单,选择这两个文件,右击其中一个文件,然后选择 “用JS++编译”。对于Mac和Linux,使用以下命令。

js++ Calculator.jspp main.jspp

一个’app.jspp.js’文件应该由JS++生成。

输入文件的顺序并不重要。JS++会自动解决这些文件需要被编译的顺序。

打开index.html,你应该看到结果: 2.

嵌套模块和部分限定

在JS++中,我们可以声明嵌套模块来进一步组织我们的代码。有两种方法可以做到这一点。

module MyApplication
{
    module Calculator
    {
        // ...
    }
}

或。

module MyApplication.Calculator
{
    // ...
}

让我们改变Calculator.jspp,使’Calculator’模块成为’MyApplication’的专属模块,以组织我们的代码。

module MyApplication.Calculator
{
    int add(int a, int b) {
        return a + b;
    }
    int subtract(int a, int b) {
        return a - b;
    }
}

现在我们已经改变了我们的模块结构,我们必须改变我们的main.jspp导入语句以反映这一点。然而,我们将添加一个转折,以节省一些输入。

import MyApplication.Calculator; 
external ; 

int result = add(1, 1);(".display-result").text(result);

编译这些文件并在你的网络浏览器中打开index.html。你应该注意到同样的结果:2.

你注意到增加的转折了吗?

我们没有调用Calculator.add,而是简单地通过’add’调用加法函数。以下所有的方法都是调用’add’函数的正确方法。

add(1, 1); 
Calculator.add(1, 1); 
MyApplication.Calculator.add(1, 1);

前两行被称为 “部分资格”。第三行和最后一行被称为 “完全限定”。完全限定的名称是 “全路径”,而部分限定的名称是 “相对路径”。

JS++允许你通过部分限定的名称使用这种相对路径,以保持你的代码简洁。然而,你对名称的限定越多,你的代码就越容易阅读和遵循。代码风格的选择由你决定。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程