RockScript -- 可以在J2ME手机上流畅运行的JavaScript引擎
试用
已在Nokia低端S40手机中测试过。
打开程序后即可从javascript例程列表中选择一个来显示源文件或直接执行。
如需测试自己编写的javascript源码,只要将编写好的js文件加入scripts.zip并重新打JAR包即可。
优点
体积超级小巧,引擎核心在混淆压缩后仅25K
功能强大,实现了ECMA规范中绝大部分的语言特性
性能优异,占用内存少,可在低端J2ME手机中流畅运行
兼容性强,只要支持CLDC1.0/MIDP2.0的J2ME手机都可以运行(少量改动即可兼容MIDP1.0)
可以轻易的集成在其它软件系统中,可以定制全局对象
可扩展性强,可以轻易的添加新的本地方法或对象来扩展功能,如加入DOM API来支持DHTML
可用于
3G时代的手机浏览器,使其真正支持客户端的DHTML和AJAX
Widget引擎
WAP浏览器中的WMLScript解释器
游戏脚本引擎,特别是三引号和字符串内嵌表达式语法的加入特别适合编写有大量对话的游戏脚本
商业逻辑扩展(DSL),可从服务器更新运算逻辑而不仅仅是数据
更多,仅受限于您的想象力...
标准ECMA特性
所有运算符
一元运算符 !, +, -
算术运算符 +, -, *, /, %, **
自增自减运算符 ++, -- (前置/后置)
赋值运算符 =, +=, -=, *=, /=, %=, **=, &=, |=, ^=, <<=, >>=, >>>=
逻辑运算符 &&, ||
支持JavaScript中的特殊用法,如以下代码:
foo || foo = function() { println("Test!") }
foo && foo()
关系运算符 ==, ===, !=, !==, <, <=, >, >=
位运算符 ~, &, |, ^, <<, >>, >>>
三元运算符 ? :
逗号运算符 ,
其它运算符 in, delete, typeof, instanceof
所有控制语句
if ... [else ...]
while ...
do ... while
for (...; ...; ...) ...
for (... in ...) ...
switch (...) { case ... : default : ... }
with (...) ...
return [...]
throw ...
try ... catch ... finally
对象和数组
真正的原型对象继承机制
使用JSON语法创建对象和数组
所有三种函数创建方式
使用function关键字声明
表达式中的函数直接量,如foo = function(x, y) { return x + y }
用Function构造函数动态创建,如foo = new Function("x", "y", "return x + y")
自定义构造函数创建对象
支持eval函数,即可以执行字符串中的JavaScript代码
使用函数直接量实现的闭包(参见例程中的closure.js和closure1.js)
全局对象提供以下本地构造函数和属性(可以用例程中的dumpgo.js来查看所有内置属性)
Object
hasOwnProperty/toString
Array
join/shift/unshift/sort/reverse/push/pop/concat/slice
Function
apply/call
String
valueOf/charAt/charCodeAt/split/substring/indexOf/lastIndexOf
Number
valueOf
Date
getTime/setTime
Error
toString
Math
random
print/println/alert
eval
es: 用来解析字符串中的内嵌表达式如: "My name is $my.name"
parseInt
字符串中可以使用\uxxxx来表示任意Unicode字符
行尾分号可省略
定义字符串可混用单/双引号
扩展特性(语法糖)
支持乘方运算符**
支持使用三引号""" ... """定义大段保持原样输出的字符串(即保留换行)。特别适合定义大段HTML代码,或对话等
switch语句中case后面可以使用表达式
支持字符串内嵌表达式(此特性可关闭以保持兼容性)
提供es函数用来自动解析字符串中的内嵌表达式
目前不支持的ECMA语言特性
浮点数(主要是性能方面的考虑,在下一版考虑加入可配置的定点数支持)
正则表达式(因J2ME平台的限制)
作者联系方式
Email: rocks@cnjm.net
分享到:
相关推荐
引擎应能在各种J2ME支持的设备上稳定运行,提供跨平台的兼容性。 3.1.2 基本功能划分 包括图形渲染、音频处理、物理模拟、输入处理、资源管理等多个模块,以满足不同类型游戏的需求。 3.1.3 用户使用流程 开发者...
它们利用低级API如MIDP(Mobile Information Device Profile)的Canvas类来实现高效绘制,确保游戏在不同设备上流畅运行。 2. **物理模拟**:引擎可能集成物理模拟库,如Box2D或JBox2D,用于处理碰撞检测、重力和...
在2000年代初期,J2ME是许多非智能手机上实现互联网浏览的主要技术,其中“j2me手机浏览器”就是这样一个应用。这个应用允许用户在他们的手机上访问网页,尽管其功能和性能可能与现代智能手机上的高级浏览器相比有限...
3. **MIDlet**:MIDlet是J2ME中的核心应用程序类,它是运行在Java虚拟机上的一个可执行单元。MIDlet生命周期包括初始化、显示、暂停、恢复和终止几个阶段。开发者需要实现MIDlet接口,并覆盖其方法来管理应用程序的...
3. **优化性能**:针对J2ME平台的特性,DyMiX_basic_0.1可能采用了特定的算法和技术来优化性能,减少CPU和内存的消耗,确保在低性能设备上的流畅运行。 4. **简单易用**:为了方便开发者集成,这个引擎可能提供了...
《超级玛丽的代码j2me版》是一款专为初级编程学习者设计的项目,它基于Java ME(J2ME)平台实现,可以帮助学习者深入了解移动设备上的游戏开发。J2ME,全称Java 2 Micro Edition,是Java平台的一个子集,主要应用于...
《J2ME手机游戏案例精编电子教程》是一份深入探讨Java 2 Micro Edition (J2ME)在手机游戏开发中的应用的宝贵资源。J2ME是Java平台的一个子集,专为嵌入式设备,如早期的智能手机和平板电脑设计,它提供了开发移动...
在J2ME平台上开发应用程序,可以实现丰富的功能,如游戏、通信应用、信息管理等。本文将深入探讨如何在NetBeans集成开发环境中利用J2ME实现一个手机电话本功能。 首先,我们需要了解J2ME的基础架构。J2ME由配置...
由于J2ME的目标平台通常是内存和处理能力有限的设备,因此这类编辑器通常注重效率和轻量化,以确保生成的动画能够在各种不同的手机硬件上流畅运行。 在J2ME中,动画通常通过更新显示的图像序列来实现,每帧图像被...
这篇毕业论文深入探讨了J2ME在手机游戏开发中的应用,揭示了该技术的关键特性、开发流程以及面临的挑战。 **一、J2ME基础** J2ME由配置和 profiles 组成,配置定义了最小的Java运行时环境,而profiles则针对特定...
《J2ME手机扑克牌游戏》是一款基于Java 2 Micro Edition (J2ME)平台开发的移动设备应用程序,主要用于在手机上实现扑克牌游戏的娱乐功能。本文将深入探讨J2ME技术、手机编程的基本原理以及扑克牌游戏的实现细节。 ...
但相比现代游戏引擎,J2ME在图形和动画处理上较为有限。 6. **音频支持** J2ME的MIDP提供了MIDI和波形声音的支持,允许开发者添加背景音乐和音效。但由于设备限制,音频处理相对简单,可能无法实现复杂的音频效果...
《J2ME手机高级编程》涉及的是Java 2 Micro Edition(J2ME)在移动设备上的高级应用开发,尤其关注无线通信、游戏开发、电子地图浏览、播放器实现、持久化存储、移动商务应用以及XML模型的应用。这些主题涵盖了移动...
《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》...
J2ME为移动设备提供了丰富的应用程序开发环境,尤其是在手机游戏领域,它曾经是开发手机游戏的主流技术之一。 在"J2ME手机游戏编程入门"这个主题中,我们主要会学习以下几个核心知识点: 1. **J2ME架构**:J2ME由...