aardio 文档

aardio 范例: ES6(Chakra)

//ES6(Chakra)
import console;
import web.script;
var chakra = web.script("ES6"); 

//Chakra 最低要求为 Win10/Win11, Win7 已逐渐退出市场一般可以忽略 
assert(_WIN10_LATER,"虽然低于 Win10 的系统 ES6 参数自动退化为 JScript,但此示例用到了 ES6 语法");

//导出 aardio 函数到 JavaScript
chakra.external = {
    log = function(...){  
        console.log(...)
    } 
}

chakra.script = /*****   
external.log("JavaScript 调用 aardio 函数");

class ES5 {
    constructor(name) {
        this._name = name;
    }

    test() {
        let result = 0;
        let numbers = [1,2,3];

        if(Array.isArray(numbers)){
            numbers.forEach( (value) =>{
            result = result + value; 
            }); 
        }

        return result;
    }
}

class ES6 extends ES5 {
  test(v) {
    return  super.test() + v;
  }
}

var es6 = new ES6(); 
var testResult = es6.test(1000); 

var test = function(v){
    return es6.test(v);
}

*****/

//访问脚本中的变量
console.dump( chakra.script.testResult ); 

//通过 script 对象调用 JavaScript 函数,必须有参数,不支持无参数函数
console.dump( chakra.script.test(1000) ); 

//通过 json 对象调用 JavaScript 函数,参数与返回值使用 JSON 格式转换。调用参数要符合 JS 函数定义。
console.dump( chakra.json.test(1000) );

//支持以复杂的 JavaScript 表达式作为下标获取并调用 JavaScript 函数
console.dump( chakra.json["new ES6().test"](1000) ); 

/*
Chakra 性能更强悍,支持 ES6,但对 COM 接口的支持不如 JScript,
在使用上与 JScript 有很多区别
*/
console.pause();

Markdown 格式