这次真的把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
分享到:
相关推荐
这个SDK允许开发者通过Java语言来调用AIP提供的各种服务,如图像识别、语音识别等人工智能功能。"aip-java"和"aip-java-sdk"是与SDK相关的标签,表示这是与AIP相关的Java开发工具包。"aip-java-sdk_4.2.0"进一步确认...
本源码项目是基于Java的J-IM轻量级高性能即时通讯系统设计,包含278个文件,主要使用Java、HTML、Shell和JavaScript编程语言。该项目旨在降低即时通讯门槛,快速打造低成本接入在线IM系统。系统通过极简洁的消息格式...
这个SDK使得Java开发者能够方便地在自己的应用程序中集成和调用AIP的相关服务,比如图像识别、语音识别、自然语言处理等。 描述中提到的四个jar文件分别是: 1. **aip-java-sdk-4.13.0.jar**:这是主要的AIP Java ...
它的存在意味着AIP Java SDK可能使用Log4j来输出调试信息和错误日志。 2. **aip-java-sdk-4.2.0.jar**:这是核心的AIP Java SDK库文件,包含了所有用于与百度AI平台交互的类和方法。开发者需要引入这个jar文件到...
除此之外,"Java.chm"涵盖了Java语言的基本概念和API,"JavaScriptHelp_cn.chm"为JavaScript的中文帮助文档,"Structs.CHM"可能涉及Struts框架的使用,"j2se1.5中文api.chw"提供了Java 2 Standard Edition 1.5的中文...
1. log4j-1.2.17.jar:这是Apache Log4j的一个版本,是一个广泛使用的日志记录框架,用于在Java应用程序中记录各种级别的日志信息。在AIP Java SDK中,Log4j用于收集和记录SDK在运行时的调试信息和错误,帮助开发者...
这款编辑器支持多种编程语言,包括Java,能够方便地集成到JSP(Java Server Pages)环境中,为Web应用提供丰富的文本编辑体验。本文将详细介绍FCKeditor的特性、使用教程以及与Java和JSP的整合方法。 首先,...
这个SDK主要用于帮助开发者在Java环境中集成和调用百度提供的各种AI服务,如自然语言处理、图像识别、语音识别等。"Java 8 SDK"标签表明它与Java 8兼容,意味着它可能利用了Java 8的一些特性和API。 描述中的"sdk...
标题中的“green-grass-flat-horizontal-banners-set_J_java_javascript_jsp_”暗示这是一组与Java、JavaScript和JSP相关的横幅设计素材,可能用于宣传或教学目的,特别是与IT开发相关的活动。这些横幅可能包含绿色...
这个SDK可能是由AIP公司提供的,允许开发者通过Java编程语言来操控Android设备的GPIO(General Purpose Input/Output)接口。GPIO接口允许硬件设备与Android系统进行直接交互,比如控制外部传感器或执行器的状态。 ...
这表明项目主要使用Java语言来实现论坛功能,可能涉及的技术栈包括Servlet、JSP、Spring MVC、Hibernate等Java Web框架,也可能包含JavaScript、HTML、CSS等前端技术。 在【压缩包子文件的文件名称列表】"论坛java...
JAVA-复习终结版.doc文档涵盖了Java和JavaScript两个主要的编程语言相关知识点,以及与Web开发相关的HTML、XML解析和JSP技术。以下是这些知识点的详细解释: 1. **HTML表单元素**: - `<INPUT>`标签用于创建各种...
"rados-java-ceph的web实现"是指使用Java语言来构建一个Web接口,以便于管理和操作Ceph集群。 首先,我们要理解Ceph的核心组件。Ceph主要包括三个主要部分:RADOS( Reliable Autonomic Distributed Object Store)...
- **编程语言**:Java - **辅助技术**:JavaScript - **技术栈**:SSH (Struts + Spring + Hibernate) - **前端开发**:Dreamweaver 8 #### 四、系统开发流程 1. **需求分析阶段**(2月20日~2月23日) - 明确项目...
《olap4j-0.9.7.309-JS-3.jar:Java与JavaScript在OLAP分析中的桥梁》 OLAP4j-0.9.7.309-JS-3.jar是一个针对Java和JavaScript环境的库,主要用于支持在线分析处理(Online Analytical Processing, OLAP)。OLAP4j是...
- **与JavaScript比较:**JSP是服务器端技术,拥有更丰富的编程语言特性。 - **与静态HTML比较:**JSP支持动态特性,可以动态生成HTML内容。 #### 免费的Servlet和JSP软件 - **Tomcat:**Apache Tomcat是最常用的...
这本书深入浅出地讲解了如何使用Java语言进行Web应用程序的开发,涵盖了从基础的Servlet、JSP到更高级的框架如Struts、Spring等关键知识点。课后习题是检验学习成果、提升编程能力的重要环节,因此,提供的"清华大学...
脚本引擎通常基于一种或多种特定的脚本语言,例如Lua、JavaScript等,这些语言具有轻量级、易读写、解释执行的特点,便于快速迭代和调试。在"l2j-server-script-engine"中,开发者可以利用这些脚本语言的能力,实现...
2. **跨域支持**:因为JWT是JSON格式,它可以方便地在不同的应用和服务器之间传递,支持多种编程语言,如Java、JavaScript、Node.js和PHP等。 3. **安全性**:通过数字签名,JWT可以确保数据在传输过程中的完整性,...
《韩顺平Java-项目-房屋出租系统》是针对初学者和进阶者的一个实践性教学项目,旨在帮助学习者掌握Java编程语言在实际开发中的应用。该项目专注于构建一个房屋出租系统,涵盖了从需求分析、设计到编码实现的全过程,...