JS++ 类型系统

JS++ 类型系统

RGBtoHex:从JS++中使用JavaScript

我们将创建两个文件,一个是JavaScript文件,一个是JS++文件,来介绍它们是如何相互作用的。我们将使用经典的’rgbToHex’例子来理解Js++的类型保证。

首先,创建一个名为rgbtohex.js的文件(JavaScript),并输入以下代码。

(不要担心试图理解这个JavaScript代码。我们只是把它作为一个例子来使用)。

function rgbToHex(red, green, blue) {
    if (typeof red !==  "number")   
      throw new TypeError("Expected numeric 'red' value");
    if (typeof green !==  "number") 
      throw new TypeError("Expected numeric 'green' value");
    if (typeof blue !==  "number")  
      throw new TypeError("Expected numeric 'blue' value");

    if (red < 0   || red > 255)     
      throw new RangeError("Expected 'red' value between 0 and 255 (inclusive)");
    if (green < 0 || green > 255)   
      throw new RangeError("Expected 'green' value between 0 and 255 (inclusive)");
    if (blue < 0  || blue > 255)    
      throw new RangeError("Expected 'blue' value between 0 and 255 (inclusive)");

    var r = red.toString(16);
    var g = green.toString(16);
    var b = blue.toString(16);

    while (r.length < 2) r = "0" + r;
    while (g.length < 2) g = "0" + g;
    while (b.length < 2) b = "0" + b;

    return "#" + r + g + b;
}

将上述JavaScript代码保存为rgbtohex.js,并创建一个新的main.jspp文件。

external alert;
external rgbToHex;

alert(rgbToHex(255, 255, 255));

我们首先将’alert’声明为’外部’。alert “实际上是网页浏览器的一个原生函数(通过 “DOM API”),它允许我们显示消息框。接下来,我们将我们刚刚写的自定义JavaScript函数(’rgbToHex’)声明为’外部’。这允许我们使用JS++中的函数。

编译main.jspp。 现在创建一个index.html文件。

<!DOCTYPE html>
<head>
    <title>RGB to Hex Conversion</title>
</head>
<body>
<script src="rgbtohex.js"></script>
<script src="main.jspp.js"></script>
</body>
</html>

确保JavaScript依赖性(rgbtohex.js)的