Javascript写的Java --- j语言

这次真的把java的语法写成javascript了,看起来太熟悉了。

先给个例子:

 

j('package j.unit', function() {
    /**
     * @class j.unit.Observable
     */
    j('class Observable', function(jsuper) {

        return {

            constructor:function() {
                jsuper.constructor.call(this);
            }


        }

    });
});


j('package jui', function() {

    j('import j.unit.Observable;');
    j('import j.unit.*;');

    j('class Component', {

        constructor:function() {

        },
        show:function() {
            console.log("good");
        }

    });

    j('class Container extends Component implements Observable', function(jsuper, ob) {

        return {

            constructor:function() {
                jsuper.constructor.call(this);
                ob.constructor.call(this);
            }


        }

    });


});

 

附上实现代码:

 

function j() {
    var def, code;
    def = arguments[0];
    if (arguments.length == 2) {
        code = arguments[1];
    }
    if (J.isArray(def)) {
        def = def.join(' ');
    }
    var defs = def.replace(/\s{1,}/g, ' ').split(/\s/);
    var l = defs.length;
    if (l % 2 != 0) {
        throw new Error("[jjava] def error");
    }
    var args = [];
    for (var i = 0; i < l; i += 2) {
        switch (defs[i]) {
            case "package":
                return jpackage.call(this, defs[i + 1], code);
            case "import":
                return jimport.call(this, defs[i + 1]);
            case "class":
                args[0] = defs[i + 1];
                break;
            case "extends":
                args[1] = defs[i + 1];
                break;
            case "implements":
                args = args.concat(defs[i + 1].replace(/\s/).split(","));
                break;
        }
    }
    args.push(code);

    return jclass.apply(this, args);

}
 其中的 jpackage,jimport,jclass 请看  http://openxtiger.iteye.com/blog/1708715

 

Java 中 log4j 与 Log4js 的跨语言日志记录 在现代软件开发中,分布式系统和多语言环境日益普遍。Java 作为后端开发的主流语言,常使用 log4j 进行日志记录;而 JavaScript 在前端开发中占据重要地位,Log4js 是其常用的日志记录工具。实现 log4j 与 Log4js 的跨语言日志记录,有助于统一管理前后端的日志信息,方便开发人员进行调试、监控和问题排查。本文将详细介绍如何实现这一跨语言日志记录,范围涵盖 log4j 和 Log4js 的基本原理、配置方法、跨语言交互的实现方式以及实际应用场景等。 阅读详情

相关推荐

从零搭建AGV避障系统:我用激光雷达+树莓派视觉模块踩过的那些坑

本文分享了基于树莓派与国产激光雷达从零搭建低成本AGV避障系统的实战经验。针对复杂仓库环境,详细剖析了激光雷达数据噪声、视觉模块算力瓶颈、IMU漂移等核心挑战,并提供了多传感器融合、软件架构设计与避障决策的具体解决方案,为中小型自动化改造项目提供了宝贵参考。

git9versioner的博客 984

Java编程语言-介绍

Java编程语言-介绍 Java是一种编程语言,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的“形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种“以对象为导向”的方式。使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。另外,Java还可以被用来编写容量很小的应用程序模块或者applet,做为网页的一...

iteye_7332的博客 686

lisp方格网法计算土方量_分享:两期土方工程量计算(方格网法)实例例题

最近遇到一个飞时达土方软件试用版客户,咨询怎么根据平整前的原始地形图和平整后的现状地形图来计算产生的土方工程量,也就是两期土方量,且需要用方格网法来计算,作为一个老道的工程设计人员,博主对这类的项目实例例题简直太熟悉了,用飞时达土方计算软件V13.0可以很方便的计算出来。 方格网法计算两期土方量流程 一、软件安装及注册 专业的飞时达土方计算软件FastTFT,请到飞时达软件官方网站去下载,注册完...

weixin_35131425的博客 1700

学习J语言

学习J语言 J语言 (www.jsoftware.com) 和Javascript, Java没有一点关系。J衍生于APL。APL始于上世纪七十年代,IBM大型机的时代。Kenneth Iverson因为APL的工作,得了1979年的图灵奖。后来他和Roger Hui又一起开发了J语言。Roger Hui至今还一直活跃在J语言的论坛上,为用户答疑。 J语言的最大特点就是代码简洁。 如果要给J起个中...

weixin_43801661的博客 4932

SMPTE ST 2110 概论(三)

SMPTE ST 2110 概论(三)ST 2110-30:未压缩的PCM音频流ST 2110-31:非PCM音频传输ST 2110-40:辅助数据传输结语 ST 2110-30:未压缩的PCM音频流 鉴于音频系统是广播系统中最复杂,也是最重要的一套系统,我们先来回顾一下广电音频系统的历史。 最老式的音频都是基于模拟信号的,具有有限的动态范围,并且用连续的电压变化来描述音频。再后来就基于数字信号(...

Cidd0422的博客 1万+

Zynq7020实战:ARM Cortex-A9降频避坑指南(附温度对比测试)

本文详细介绍了如何在Zynq7020平台上对ARM Cortex-A9处理器进行降频优化,以降低功耗并提升系统稳定性。通过分析时钟架构、提供实战操作步骤和温度对比测试数据,帮助开发者有效避免降频过程中的常见问题,实现嵌入式系统的高效能耗管理。

root9的博客 206

JavaScript中如何编写Java代码

这样,我们就能够发挥Java的强大功能,并将其应用于Web开发中。这样,你就可以在JavaScript代码中直接调用Java类的方法和访问Java类的属性。在JavaAdapter的构造函数中,我们传入了Java类的完整类名,以及一个JavaScript对象,该对象包含了我们要在Java中调用的方法。然后,我们可以直接在JavaScript代码中调用javaClass对象的javaMethod方法,从而执行对应的Java代码。在这个方法中,你可以编写任何你想要的Java代码,享受Java强大的功能。

wodianping的博客 1008

C++坦克大战源代码

【代码】C++坦克大战源代码。

强国豪,林中霖 2609

j语言是java吗_j建设网站语言Java和PHP的应用区别

首先认识Java,Java是一门计算机编程语言,和C++、Python等编程语言一样,Java如今依旧应用广泛。从我们日常用的安卓手机APP到大部分网站或管理信息系统的应用服务器程序都是用Java这中语言来写的。先说优势吧,第一、Java自身生态比较完善,解决各种场景下解决方案都比较成熟,小到单体应用,大到服务拆分,微服务都有成熟的,经过业界考验的方案。Java从语言形态上让她的代码是有底线的,而...

weixin_35448535的博客 845

fastadmin管理员页面实现手机验证码登录功能-腾讯云短信插件

fastadmin管理员页面实现手机验证码登录功能-腾讯云短信插件

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 4195

[Dify] HTTP 请求节点总是调不通?先把请求头、参数、变量和返回 JSON 拆开查

这篇文章围绕 Dify HTTP 请求节点调不通、接口能通但流程不稳定、返回 JSON 后续节点读不到等问题展开,从 Method、URL、Header、Body、变量映射和返回字段提取几个角度梳理排查顺序。适合正在把 Dify Workflow 接入企业微信、CRM、工单系统或内部接口的读者阅读,帮助你把接口调用从一次性跑通推进到可复用、可验证的业务流程。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 3945

javascript用什么语言写的,javascript属于什么语言

实际上,在早期确实有这样的问题,后来大家觉得这样搞下去会出问题,所以就坐在一起商量一套统一的语法,由于制定语法的这个组织叫ECMA,所以JavaScript的标准就是ECMAScript,这个ECMAScript中有哪些东西,实际上就是变量,表达式,关键字...的基础语法。随着js版本的升级,现在的js可以运行在nodejs上,而nodejs又可以安装在绝大多数的操作系统中,所以js可以运行在绝大多数的系统中,除了完成表单验证以及动画的实现还可以进行服务器端编程,甚至于硬件编程。

2301_79533350的博客 186

开源的预测气象大模型与数据获取/可视化

「开源气象大模型与数据获取指南」摘要: 当前主流AI气象模型(如ECMWF的AIFS、DeepMind的GraphCast、华为Pangu等)主要基于ERA5/HRES数据训练。开源资源可通过ECMWF OpenData、GitHub仓库及Google Cloud获取,其中AIFS数据采用CCBY-4.0许可可商用,其他模型多有限制性许可。典型应用流程包括:1)通过Python包获取实时预报数据;2)加载预训练权重进行推理;3)使用xarray/cartopy或Zarr进行可视化。训练数据可从CDS下载ER

专注AI大模型,软件混淆,授权 795

web3j与Web3.js对比分析:Java与JavaScript区块链开发框架终极指南

在当今快速发展的区块链技术领域,选择合适的开发框架至关重要。web3j作为Java平台的分布式账本开发库,与JavaScript生态中的Web3.js形成了鲜明的对比。本文将深入分析这两个主流区块链开发框架的核心差异,帮助您根据项目需求做出明智选择。🏗️ ## 为什么需要区块链开发框架? 区块链开发框架为开发者提供了与分布式账本网络交互的标准接口,简化了智能合约部署、交易发送和区块链数据查询

gitblog_00866的博客 841

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

javascript用什么语言写的,javascript编程用什么软件

实际上,在早期确实有这样的问题,后来大家觉得这样搞下去会出问题,所以就坐在一起商量一套统一的语法,由于制定语法的这个组织叫ECMA,所以JavaScript的标准就是ECMAScript,这个ECMAScript中有哪些东西,实际上就是变量,表达式,关键字...的基础语法。随着js版本的升级,现在的js可以运行在nodejs上,而nodejs又可以安装在绝大多数的操作系统中,所以js可以运行在绝大多数的系统中,除了完成表单验证以及动画的实现还可以进行服务器端编程,甚至于硬件编程。

2301_79533350的博客 204

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

J2CL快速入门:30分钟内搭建你的第一个Java转JavaScript项目

J2CL(Java to Closure JavaScript transpiler)是一款强大的工具,能让你将Java代码无缝转换为高效的JavaScript应用。本文将带你在30分钟内完成从环境搭建到运行第一个Java转JS项目的全过程,即使是新手也能轻松上手!🚀 ## 为什么选择J2CL? J2CL的独特之处在于它给予开发者完全的选择自由:你可以仅将部分Java代码暴露给JavaScr

gitblog_00169的博客 862

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

J2CL完全指南:如何将Java无缝转换为高性能Closure JavaScript

J2CL(Java to Closure JavaScript transpiler)是一款强大的工具,能够将Java代码无缝转换为高性能的Closure JavaScript,让开发者能够充分利用Java的类型安全和丰富生态系统,同时享受JavaScript在Web开发中的灵活性。本文将为您提供一份全面指南,帮助您快速掌握J2CL的使用方法和最佳实践。 ## 什么是J2CL? J2CL是一个

gitblog_00697的博客 1019

自写九九乘法表 c java js OC 多语言

九九乘法表C语言 和 js 其他语言我会慢慢加c语言js c语言 #include <stdio.h> int main () { for(int x=1;x<=9;x++){ for(int y=1;y<=x;y++){ printf("%d*%d=%2d\t",x,y,x*y); } printf("\n"); } } 运行结果 js function a99(a){ for(var i=1;i<=a;i++){ .

nil null NSnull undefined 286

JavaScript与C语言和Java语言的区别,以及node和浏览器的区别

JavaScript与C语言和Java语言的区别,以及node和浏览器的区别

m0_58646138的博客 733

javascript 和其他语言的转换工具

将你擅长的语言编译为JavaScript 将Java代码编译为JavaScript 尽管JavaScript名字中包含“Java”,实际上JavaScript和Java没有任何关系,只是由于当时Java火得一塌糊涂,为了借助Java的名气来推广,就起名为JavaScript了。 各种强大的工具的出现,使得JavaScript代码和Java代码之间有了一定的联系,就是可以将Java代码编译为Jav...

sifeimeng的专栏 4701

js解释器是什么语言写的,js解释性语言的理解

JavaScript(通常缩写为JS)是一种高级的、解释型的编程语言;它是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。除了HTML和CSS, JavaScript是万维网的核心技术之一Python解释器的安装步骤。JavaScript支持交互式web页面,是web应用程序的重要组成部分。绝大多数网站都使用它,主要的网络浏览器都有专门的JavaScript引擎来执行它。

chatgpt002的博客 178

J2CL –迟到总比不到好

上周,Google团队终于发布了J2CL框架的源代码,自2015年以来就对此进行了讨论。将Java转换为JavaScript的想法根本不是什么新鲜事,而且每个人在使用Google Web Toolkit之前都遇到了麻烦该产品在社区中倍受关注-经过讨论并成为会议演讲的主题,但没人能看到它 。 自首次发布以来已经有3年多了,而且该产品似乎甚至在其诞生之前就失去了市场。 今天,我们有了Scal...

最佳 Java 编程 470

Java 集成 LangChain4j:大语言模型应用开发指南

当大语言模型(LLM)成为企业级应用的核心驱动力时,Python 生态的 LangChain 已成为开发标准框架。但对于占全球开发者群体相当比例的 Java 工程师而言,如何在熟悉的技术栈中接入 LLM 能力,曾是一大痛点。本文将聚焦。

qq_46094651的博客 831

开启Java与JavaScript的无缝融合之旅 - 探索Google的J2CL转译器

Java和JavaScript各有千秋,但想象一下,如果您可以将它们的力量结合起来,那将如何呢?今天,我们就一起来深入了解J2CL,探索如何将Java的坚实后端与JavaScript的灵活前端完美结合吧!通过深入学习J2CL,您将能够发挥Java和JavaScript各自的优势,同时充分利用它们共同的力量。无论您是Java老手,还是JavaScript前端大师,J2CL都将为您开启全新的编程体验!如此简单,您的示例应用就构建完成,并生成了优化后的输出。这将启动开发服务器,让您可以实时与应用交互。

步子哥的博客 706
上一篇: [原创]类似Java语法的Javascript框架js5,实现jpackage,jimport,jextends,jclass,jnew
下一篇: j语言----like Java v2
staffrobot
博客等级 码龄19年 6粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值