MScript开发手册.docx
- 文档编号:24058150
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:86
- 大小:45.24KB
MScript开发手册.docx
《MScript开发手册.docx》由会员分享,可在线阅读,更多相关《MScript开发手册.docx(86页珍藏版)》请在冰豆网上搜索。
MScript开发手册
MES移动应用快速开发平台
MScript开发手册
MES移动应用快速开发平台1
MScript开发手册1
1简介4
1.1脚本语言4
1.2弱类型4
1.3大小写敏感4
1.4无须编译4
1.5简单性4
2工作原理5
3关键字5
4基础语法5
4.1放置5
4.2注释6
4.2.1单行注释6
4.2.2多行注释6
4.2.3行末注释6
4.3运算符7
4.3.1算术运算符7
4.3.2逻辑运算符7
4.3.3一元运算符12
4.3.4位运算符15
4.3.5乘性算符17
4.3.6加性算符19
4.3.7关系运算符21
4.3.8等性运算符23
4.3.9条件运算符25
4.3.10赋值运算符26
4.3.11逗号运算符26
4.4变量27
4.4.1MScript变量27
4.4.2MScript变量名称规则27
4.4.3声明MScript规则27
4.4.4向MScript变量赋值27
4.4.5向未声明的MScript变量赋值28
4.4.6重新声明MScript变量28
4.5逻辑语句28
4.5.1if语句28
4.5.2do-while语句29
4.5.3while语句30
4.5.4for语句30
4.5.5for-in语句31
4.5.6标签语句31
4.5.7break与continue语句31
4.5.8with语句34
4.5.9switch语句34
4.6异常36
4.7对象36
4.7.1对象应用36
4.7.1.1声明和实例化37
4.7.1.2对象引用37
4.7.1.3对象销毁37
4.7.2对象定义38
4.7.2.1原始方式38
4.7.2.2工厂方式39
4.7.2.3为函数传递参数40
4.7.2.4在工厂函数外定义对象的方法41
4.7.2.5构造函数方式42
4.7.3本地对象43
4.7.3.1Array43
4.7.3.2Boolean44
4.7.3.3Date44
4.7.3.4Math46
4.7.3.5Number47
4.7.3.6String47
4.7.3.7RegExp48
4.7.3.8Form50
4.7.3.9Button50
4.7.3.10Select51
4.7.3.11Option52
4.7.3.12Textfield53
4.7.3.13Textarea54
4.7.3.14Radiogroup55
4.7.3.15Radio55
4.7.3.16CheckBox56
4.7.3.17List57
4.7.3.18ListItem58
4.7.3.19Label58
4.7.3.20Picture59
4.7.3.21Href59
4.7.3.22Menu60
4.7.3.23MenuItem61
4.7.3.24MenuPopup61
4.7.3.25ScrollPane62
4.7.3.26TabFolder63
4.7.3.27TabItem63
4.7.3.28Table64
4.7.3.29TR64
4.7.3.30TD65
4.7.4内置对象65
4.7.4.1pageContext65
4.7.4.2request66
4.7.4.3response66
4.7.4.4Session66
4.7.4.5Out67
4.7.4.6me67
4.8全局函数67
4.9全局属性68
1简介
MScript的全称是MESScriptLanguage(MES脚本语言)的缩写。
MScript是广州市技高软件科技有限公司研发的一种用于手机开发的服务端基于对象的脚本语言,功能强大而无须编译,可以完美的与MML搭配,开发各种各样的手机动态功能。
1.1脚本语言
它采用小程序段的方式实现编程,与MML混合保存由页面中。
像其它脚本语言一样MScript同样是一种解释性语言,因为它提供了一个简易的开发过程。
它的基本结构形式与Javascript、C、C++、JAVA十分类似。
1.2弱类型
MScript是一种弱类型的语言,因此无须强制声明变量类型,简单易学。
1.3大小写敏感
MScript是区分大小写的。
1.4无须编译
与C、C++、JAVA等语言不同,MScript是不需要编译就可以运行的,我们可以方便的利用文本编辑器修改它。
1.5简单性
MScript的简单性主要体现在:
首先它是一种基于Javascript基本语句和控制流程之上的简单与紧凑的设计。
其次它的变量类型是采用弱类型,并未使用严格的数据类型。
2工作原理
MScript是服务器端语言,由MES平台的MServer负责解析、执行,并将执行结果返回给手机客户端MClient。
3关键字
break
case
catch
continue
default
delete
do
else
finally
for
function
if
in
instanceof
new
return
switch
this
throw
try
typeof
var
void
while
with
4基础语法
4.1放置
你可以将MScript放置在MML页面的
例如:
…….
内容…….
4.2注释
可以添加注释来对MScript进行解释,或者提高其可读性
4.2.1单行注释
单行注释以//开始
//这是变量a
vara=“1”;
//varb=“3”;
4.2.2多行注释
多行注释以/*开头,以*/结尾
/*
这是变量a
这是多行注释
*/
vara=“1”;
/*
varb=“3”;
*/
4.2.3行末注释
在行末也可使用以//开始来注释
vara=“1”;//这是变量a
varb=“3”;
4.3运算符
4.3.1算术运算符
算术运算符用于执行变量与/或值之间的算术运算。
给定y=5,下面的表格解释了这些算术运算符:
运算符
描述
例子
结果
+
加
x=y+2
x=7
-
减
x=y-2
x=3
*
乘
x=y*2
x=10
/
除
x=y/2
x=2.5
%
求余数(保留整数)
x=y%2
x=1
++
累加
x=++y
x=6
--
递减
x=--y
x=4
4.3.2逻辑运算符
Boolean运算符非常重要,它使得程序语言得以正常运行。
Boolean运算符有三种:
NOT、AND和OR。
●逻辑NOT运算符
在MScript中,逻辑NOT运算符与C和Java中的逻辑NOT运算符相同,都由感叹号(!
)表示。
与逻辑OR和逻辑AND运算符不同的是,逻辑NOT运算符返回的一定是Boolean值。
逻辑NOT运算符的行为如下:
✧如果运算数是对象,返回false
✧如果运算数是数字0,返回true
✧如果运算数是0以外的任何数字,返回false
✧如果运算数是null,返回true
✧如果运算数是NaN,返回true
✧如果运算数是undefined,发生错误
通常,该运算符用于控制循环:
varbFound=false;
vari=0;
while(!
bFound){
if(aValue[i]==vSearchValues){
bFound=true;
}else{
i++;
}
}
在这个例子中,Boolean变量(bFound)用于记录检索是否成功。
找到问题中的数据项时,bFound将被设置为true,!
bFound将等于false,意味着运行将跳出while循环。
判断mScript变量的Boolean值时,也可以使用逻辑NOT运算符。
这样做需要在一行代码中使用两个NOT运算符。
无论运算数是什么类型,第一个NOT运算符返回Boolean值。
第二个NOT将对该Boolean值求负,从而给出变量真正的Boolean值。
varbFalse=false;
varsRed="red";
variZero=0;
variThreeFourFive=345;
varoObject=newObject;
document.write("bFalse的逻辑值是"+(!
!
bFalse));
document.write("sBlue的逻辑值是"+(!
!
sBlue));
document.write("iZero的逻辑值是"+(!
!
iZero));
document.write("iThreeFourFive的逻辑值是"+(!
!
iThreeFourFive));
document.write("oObject的逻辑值是"+(!
!
oObject));
结果:
bFalse的逻辑值是false
sRed的逻辑值是true
iZero的逻辑值是false
iThreeFourFive的逻辑值是true
oObject的逻辑值是true
●逻辑AND运算符
在MScript中,逻辑AND运算符用双和号(&&)表示:
例如:
varbTrue=true;
varbFalse=false;
varbResult=bTrue&&bFalse;
下面的真值表描述了逻辑AND运算符的行为:
运算数1
运算数2
结果
true
true
true
true
false
false
false
true
false
false
false
false
逻辑AND运算的运算数可以是任何类型的,不止是Boolean值。
如果某个运算数不是原始的Boolean型值,逻辑AND运算并不一定返回Boolean值:
✧如果一个运算数是对象,另一个是Boolean值,返回该对象。
✧如果两个运算数都是对象,返回第二个对象。
✧如果某个运算数是null,返回null。
✧如果某个运算数是NaN,返回NaN。
✧如果某个运算数是undefined,发生错误。
与Java中的逻辑AND运算相似,MScript中的逻辑AND运算也是简便运算,即如果第一个运算数决定了结果,就不再计算第二个运算数。
对于逻辑AND运算来说,如果第一个运算数是false,那么无论第二个运算数的值是什么,结果都不可能等于true。
考虑下面的例子:
varbTrue=true;
varbResult=(bTrue&&bUnknown);//发生错误
alert(bResult);//这一行不会执行
这段代码在进行逻辑AND运算时将引发错误,因为变量bUnknown是未定义的。
变量bTrue的值为true,因为逻辑AND运算将继续计算变量bUnknown。
这样做就会引发错误,因为bUnknown的值是undefined,不能用于逻辑AND运算。
如果修改这个例子,把第一个数设为false,那么就不会发生错误:
varbFalse=false;
varbResult=(bFalse&&bUnknown);
alert(bResult);//输出"false"
在这段代码中,脚本将输出逻辑AND运算返回的值,即字符串"false"。
即使变量bUnknown的值为undefined,它也不会被计算,因为第一个运算数的值是false。
提示:
在使用逻辑AND运算符时,必须记住它的这种简便计算特性。
●逻辑OR运算符
MScript中的逻辑OR运算符与Java中的相同,都由双竖线(||)表示:
varbTrue=true;
varbFalse=false;
varbResult=bTrue||bFalse;
下面的真值表描述了逻辑OR运算符的行为:
运算数1
运算数2
结果
true
true
true
true
false
true
false
true
true
false
false
false
与逻辑AND运算符相似,如果某个运算数不是Boolean值,逻辑OR运算并不一定返回Boolean值:
✧如果一个运算数是对象,另一个是Boolean值,返回该对象。
✧如果两个运算数都是对象,返回第一个对象。
✧如果某个运算数是null,返回null。
✧如果某个运算数是NaN,返回NaN。
✧如果某个运算数是undefined,发生错误。
与逻辑AND运算符一样,逻辑OR运算也是简便运算。
对于逻辑OR运算符来说,如果第一个运算数值为true,就不再计算第二个运算数。
例如:
varbTrue=true;
varbResult=(bTrue||bUnknown);
alert(bResult);//输出"true"
与前面的例子相同,变量bUnknown是未定义的。
不过,由于变量bTrue的值为true,bUnknown不会被计算,因此输出的是"true"。
如果把bTrue改为false,将发生错误:
varbFalse=false;
varbResult=(bFalse||bUnknown);//发生错误
alert(bResult);//不会
4.3.3一元运算符
●delete
运算符删除对以前定义的对象属性或方法的引用。
例如:
varo=newObject;
o.name="David";
out.println(o.name);//输出"David"
deleteo.name;
out.println(o.name);//输出"undefined"
在这个例子中,删除了name属性,意味着强制解除对它的引用,将其设置为undefined(即创建的未初始化的变量的值)。
delete运算符不能删除开发者未定义的属性和方法。
例如,下面的代码将引发错误:
deleteo.toString;
即使toString是有效的方法名,这行代码也会引发错误,因为toString()方法是原始的MScript方法,不是开发者定义的。
●前增量/前减量运算符
直接从C(和Java)借用的两个运算符是前增量运算符和前减量运算符。
所谓前增量运算符,就是数值上加1,形式是在变量前放两个加号(++):
variNum=10;
++iNum;
第二行代码把iNum增加到了11,它实质上等价于:
variNum=10;
iNum=iNum+1;
同样,前减量运算符是从数值上减1,形式是在变量前放两个减号(--):
variNum=10;
--iNum;
在这个例子中,第二行代码把iNum的值减到9。
在使用前缀式运算符时,注意增量和减量运算符都发生在计算表达式之前。
考虑下面的例子:
variNum=10;
--iNum;
out.println(iNum);//输出"9"
out.println(--iNum);//输出"8"
out.println(iNum);//输出"8"
第二行代码对iNum进行减量运算,第三行代码显示的结果是("9")。
第四行代码又对iNum进行减量运算,不过这次前减量运算和输出操作出现在同一个语句中,显示的结果是"8"。
为了证明已实现了所有的减量操作,第五行代码又输出一次"8"。
在算术表达式中,前增量和前减量运算符的优先级是相同的,因此要按照从左到右的顺序计算之。
例如:
variNum1=2;
variNum2=20;
variNum3=--iNum1+++iNum2;//等于"22"
variNum4=iNum1+iNum2;//等于"22"
在前面的代码中,iNum3等于22,因为表达式要计算的是1+21。
变量iNum4也等于22,也是1+21。
●前一元加法和一元减法
大多数人都熟悉一元加法和一元减法,它们在MScript中的用法与您高中数学中学到的用法相同。
一元加法本质上对数字无任何影响:
variNum=20;
iNum=+iNum;
out.println(iNum);//输出"20"
这段代码对数字20应用了一元加法,返回的还是20。
尽管一元加法对数字无作用,但对字符串却有有趣的效果,会把字符串转换成数字。
varsNum="20";
out.println(typeofsNum);//输出"string"
variNum=+sNum;
out.println(typeofiNum);//输出"number"
这段代码把字符串"20"转换成真正的数字。
当一元加法运算符对字符串进行操作时,它计算字符串的方式与parseInt()相似,主要的不同是只有对以"0x"开头的字符串(表示十六进制数字),一元运算符才能把它转换成十进制的值。
因此,用一元加法转换"010",得到的总是10,而"0xB"将被转换成11。
另一方面,一元减法就是对数值求负(例如把20转换成-20):
variNum=20;
iNum=-iNum;
out.println(iNum);//输出"-20"
与一元加法运算符相似,一元减法运算符也会把字符串转换成近似的数字,此外还会对该值求负。
例如:
varsNum="20";
out.println(typeofsNum);//输出"string"
variNum=-sNum;
out.println(iNum);//输出"-20"
out.println(typeofiNum);//输出"number"
在上面的代码中,一元减法运算符将把字符串"-20"转换成-20(一元减法运算符对十六进制和十进制的处理方式与一元加法运算符相似,只是它还会对该值求负)。
4.3.4位运算符
●位运算AND
位运算AND由和号(&)表示,直接对数字的二进制形式进行运算。
它把每个数字中的数位对齐,然后用下面的规则对同一位置上的两个数位进行AND运算:
第一个数字中的数位
第二个数字中的数位
结果
1
1
1
1
0
0
0
1
0
0
0
0
例如,要对数字25和3进行AND运算,代码如下所示:
variResult=25&3;
out.println(iResult);//输出"1"
25和3进行AND运算的结果是1。
为什么?
分析如下:
25=00000000000000000000000000011001
3=00000000000000000000000000000011
---------------------------------------------
AND=00000000000000000000000000000001
可以看出,在25和3中,只有一个数位(位0)存放的都是1,因此,其他数位生成的都是0,所以结果为1。
●位运算OR
位运算OR由符号(|)表示,也是直接对数字的二进制形式进行运算。
在计算每位时,OR运算符采用下列规则:
第一个数字中的数位
第二个数字中的数位
结果
1
1
1
1
0
1
0
1
1
0
0
0
仍然使用AND运算符所用的例子,对25和3进行OR运算,代码如下:
variResult=25|3;
out.println(iResult);//输出"27"
25和3进行OR运算的结果是27:
25=00000000000000000000000000011001
3=00000000000000000000000000000011
--------------------------------------------
OR=00000000000000000000000000011011
可以看出,在两个数字中,共有4个数位存放的是1,这些数位被传递给结果。
二进制代码11011等于27。
●位运算XOR
位运算XOR由符号(^)表示,当然,也是直接对二进制形式进行运算。
XOR不同于OR,当只有一个数位存放的是1时,它才返回1。
真值表如下:
第一个数字中的数位
第二个数字中的数位
结果
1
1
0
1
0
1
0
1
1
0
0
0
对25和3进行XOR运算,代码如下:
variResult=25^3;
out.println(iResult);//输出"26"
25和3进行XOR运算的结果是26:
25=00000000000000000000000000011001
3=00000000000000000000000000000011
---------------------------------------------
XOR=00000000000000000000000000011010
可以看出,在两个数字中,共有4个数位存放的是1,这些数位被传递给结果。
二进制代码11010等于26。
4.3.5乘性算符
MScript的乘性运算符与Java
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MScript 开发 手册