找回密码
 立即注册

微信登录

只需一步,快速开始

QQ登录

只需一步,快速开始

查看: 7|回复: 0

[心得] aardio 运行JS代码

[复制链接]
  • TA的每日心情
    开心
    14 小时前
  • 签到天数: 74 天

    连续签到: 5 天

    [LV.6]常住居民II

    39

    主题

    79

    回帖

    1030

    积分

    钻石会员

    积分
    1030
    来自: 中国贵州贵阳
    发表于 9 小时前 | 显示全部楼层 |阅读模式 来自: 中国贵州贵阳
    非业余 - aardio 编程语言 - 非官方问答社区
    风行者三期培训:Aardio+Python+Flutter,1000集课程让你成为全栈开发高手!https://mp.weixin.qq.com/s/_WOoHFtITUyLk2k7BXYGkg
    Aardio培训大揭秘,轻松上手打造个人项目!https://mp.weixin.qq.com/s/cr47qhp_Cpz0p57lbbPwug
    aardio风行者第二期培训班https://mp.weixin.qq.com/s/uB6XHUDnGSk0JlWuiBE9AA
    aardio风行者第三期培训班https://mp.weixin.qq.com/s/cdZcvFiAWhlYTaSrQGCPvA
    本帖最后由 XWCXF 于 2025-6-27 14:10 编辑

    一、基础认知:JS 引擎集成的意义
    在编程工作中,有时需要借助 JavaScript 的能力完成任务。aardio 提供的 web.script 模块,就像为我打开了一扇通道,能在 aardio 程序里直接调用 JS 功能,让不同语言的工具协同工作。

    二、实践过程

    (一)运行简单 JS 代码

    用 aardio 运行最基础的 JS 计算代码。

    代码

    [AAuto] 纯文本查看 复制代码
    import console;
    import web.script;
    
    // 创建 JS 引擎实例,选用 JScript 环境
    var js = web.script("JScript")  
    // 执行 JS 表达式,计算 1 + 2
    var result = js.eval("1 + 2");  
    console.log(result);  // 输出结果:3
    console.pause();


    通过 web.script 快速搭建 JS 运行环境,eval 方法像“传送门”,把 JS 代码丢进去就能执行,简单又直接。

    (二)传递 aardio 数据到 JS
    让 aardio 里的变量参与 JS 计算。

    代码

    [AAuto] 纯文本查看 复制代码
    import console;
    import web.script;
    
    var js = web.script("JScript")
    
    // 定义 aardio 变量
    var num = 5;  
    // 拼接变量到 JS 代码,实现数据传递
    var result = js.eval("var a = " + num + "; a * 2");  
    console.log(result);  // 输出结果:10
    console.pause();


    这种拼接方式虽基础,但能解决数据互通问题。后续复杂数据,或许要更规范的传递方式(比如 JSON 序列化),不过当前场景够用。

    (三)从 JS 获取对象
    在 aardio 中使用 JS 创建的对象。

    代码

    [AAuto] 纯文本查看 复制代码
    import console;
    import web.script;
    
    var js = web.script("JScript")
    
    // JS 创建对象,传递回 aardio
    var obj = js.eval("({name: 'John', age: 30})");  
    console.log(obj.name);  // 输出:John
    console.log(obj.age);   // 输出:30
    console.pause();


    JS 对象能直接在 aardio 里访问属性,像操作本地对象一样,语言间的边界变得很模糊,协作更顺畅。

    (四)挑战:JS 数组求和
    题目:用 JS 定义数组 [1,2,3,4,5],计算元素和并输出。

    实现代码

    [AAuto] 纯文本查看 复制代码
    import console;
    import web.script;
    var js = web.script("JScript")
    
    // 运行 JavaScript 代码计算数组元素的和
    var result = js.eval("
    var arr = [1, 2, 3, 4, 5];
    var sum = 0; 
    for(var i = 0; i < arr.length; i++) {
        sum += arr[i]; 
     } 
     sum");
    console.log(result);  // 输出结果 15
    console.pause();

    把多行 JS 代码嵌入 aardio ,借助 JS 的数组、循环语法完成计算。

    三、总结

    核心能力掌握
    • 用 web.script 快速初始化 JS 引擎,通过 eval 执行 JS 代码;
    • 实现 aardio 与 JS 的数据双向传递(变量传递、对象获取 );
    • 整合 JS 语法完成复杂逻辑(数组遍历求和 )。


    aardio 新手交流学习群,一起学习的进
    qq群号:697197055
    微信群加我 _825720xw 拉你



    非业余 - aardio 编程语言 - 非官方问答社区
    风行者三期培训:Aardio+Python+Flutter,1000集课程让你成为全栈开发高手!https://mp.weixin.qq.com/s/_WOoHFtITUyLk2k7BXYGkg
    Aardio培训大揭秘,轻松上手打造个人项目!https://mp.weixin.qq.com/s/cr47qhp_Cpz0p57lbbPwug
    aardio风行者第二期培训班https://mp.weixin.qq.com/s/uB6XHUDnGSk0JlWuiBE9AA
    aardio风行者第三期培训班https://mp.weixin.qq.com/s/cdZcvFiAWhlYTaSrQGCPvA
    回复

    使用道具 举报

    *滑块验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|非业余 - aardio 编程语言 - 非官方问答社区 知道创宇云防御

    GMT+8, 2025-6-27 23:40 , Processed in 0.108058 second(s), 28 queries .

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表