WML语言基础(WAP建站)四

2009/12/6 13:44:00  qjtyw.cn  2966阅

返回书页
lass private const public debugger

sizeof default struct do super enum switch export throw

extends try

WMLScript还有一些没有使用的保留字:

delet e null in this lib void new with

7.标识符。WMLScript的标识符可以指定或命名3种元素:变量、函数和标注。标识符不能以数字开头,但能一段下划线(-)开头,而且,标识符不能是WMLScript的保留字。例如,timeOfDay、speed 、quality、HOME_ADDRESS、_myName、__、varO等都是合法的标识符;而以数字或非短下划线的特殊符号开头的字串,以及保留字等都属于不合法的标志赋,如while、for、if、my~name、$$sys、123、3piecs、take.this等。

由于WMLScript是严格区分大小写的,所以字母相同但大小写不同的标识符不是同一个标识,例如,Work和work就是不同的标识符。

8.名称空间。WMLScript提供了比较自由的名称空间,同一标识符可以同时用作不同的目的。例如,作为某一函数名称的标识符,还可以同时用作变量名、函数参数、程序标注等,使用时他们的属性或值等并不相互影响。在下面的简单的例程中,myTest这一标识符即用作了函数名,又用作了变量名、函数参数名、函数参数名、常量名。显然,WMLScript的这一特定为我们编写程序提供了很大的方便。

4.3.3 WMLScript程序的基本书写规则

WMLScript程序的基本书本写规则:

1.程序由若干语句或函数组成,函数有由若干语句组成;

2.每个完整的语句后面必须加上分号(;),语句关键词语操作数之间必须有空间;分号(;)是WMLScript程序的组成部分;

3.函数体之间必须使用成对的花括号({ })括起来,而且函数结束时在右花括号(})的后面还要加上分号(;);函数说明部分,如函数名、函数类型、函数参数等要放在花括号({})的前面;

  4.有些语句可能也需要实用花括号({ })办含内容,这类语句通常也可以放在函数中,所以花括号({ })是可以嵌套的。

当然,不同的语句、参数、变量等元素在声明和书写时可能还有一些更细的要求,具体我们后面介绍这些元素是再专门给出,

4.4 变量与数据类型

变量即数据类型是所有编程语言的概念和组成部分,WMLScript对此也不例外。它对其变量使用方法和数据类型定义方法给出了详细的规定。变量通常与某数据之相对应,我们可以给变量赋值,并可在程序执行中改变变量的值。下面我们讲解WMLScript有关变量与数据类型的详细规定。

4.4.1变量及其声明

变量是在WMLScript脚本程序中具有值的符号名,或说标识符。使用变量可以存储和改变程序中需要的数据。与C语言不同的是,WMLScript仅支持函数内定义的变量或用于传送数的参变量。

变量使用前必须进行声明,也就是定义变量,即指定变量的名字。声明变量的关键字是var,它的后面根上作为变量名的合法的标识符,并于最后加上分号(;),即完成一个量的声明。声明变量是可以使用var一次声明多个变量名,相邻变量之间使用都号(,)间隔。

一般情况下,我们在给变量命名的时候,都希望能够使用有意义的变量名。例如,当需要使用一个变量表示一本书的价格时,虽然将变量命名为j或book都没有什么错误,但若能命名为bookPrice则会是的WMLScript脚本程序具有更好的可读性,可以方便编程人员进行脚本的编写和调试工作。而且,由于WMLScript在给变量命名是不能使用保留字,所以考虑到避免由于一时的疏忽时变量名欲保留字发生冲突,我们建议使用多个单词组合在以其作为一个变量的名称,这是一个比较好的解决办法。例如,如果要定义一个变量来存储的、一本书的价格,那我们可以不妨使用bookPrice或者book_price作为变量的名称,这样,一方面可以时变量显得更加清晰,另一方面也可以避免变量与保留字的冲突问题。

以上只是我们对于变量命名的建议,并不是强制性的要求,用户完全可以不按照我们的要求来做,只要遵守WMLScript对于标识符命名的要求就可以了,但养成良好的编程风格不论是对编程人员还是对脚本编写人员来说,都是十分有意义的。

4.4.2 变量的作用域与生命期

一个变量的作用域是指在程序中能够引用这个变量的一段代码。由于WMLScript仅支持函数内定义的变量,所以WMLScript变量的作用与通常就是定义它们的那个函数。在该函数之外,变量不再发挥直接作用。

变量的生命起始值从变量声明开始到失效为止。变量的生命期也被称为变量的持久期、存活期。一个变量在定义它的整个函数内都是有效的,函数内的任何语句块都不会削减变量的生命期或限制变量的作用域。

如果一个变量未经生命就直接使用,或声明过后再次声明,都会破坏变量的生命期。前一种情况会导致变量没有开始声明期,即没有“生命”;而后一种情况则导致变量声明期没有结束以前就重新赋予声明期,即让它多次“降生”。这都会导致变量无效使用。下面函数中的变量使用就说明了这一问题:

function foo(){

x=1;//错误:变量使用前没有声明,改变量还没有“声明”。

var x,y,z;

y=x+3;

var zd =invalid

if(x){

var(y);//错误:这一变量已经声明,这里是重复声明。

};

};

4.4.3 变量的使用

WMLScript的变量只能在定义它的函数内使用。使用时需要声明变量,声明变量是可以同时对变量赋值,甚至对变量进行运算。例如,下面的简单函数就说明了变量的这种灵活的使用方法:

function ourAge(){

var myAge=38;

var yourAge=26;

var ourAge=myAge+yourAge;

return ourAge;

};

使用变量时可通过调用变量名字的形式来实现。上面例子中的“var ourAge=myAge+yourAge;”一句,通过调用变量名,变量ourAge对变量myAge和变量yourAge实行了求和操作。

4.4.4 变量类型与数据类型

WMLScript是一种“弱类型”的语言,及其变量没有确定的类型。WMLScript变量的类型有改变量所赋数据的类型决定,并根据数据类型的改变而改变。WMLScript只支持内部定义的数据,因此我们编写程序是无需指定WMLScript变量的类型,WMLScript减根据变量而赋数据的类型自动进行匹配。由于WMLScript的数据类型共有整数、浮点数、字符串、布尔型和“无效型”五种类型,所以WMLScript变量的类型所能匹配的也就是这五种类型。

4.4.5 变量值域

由于变量类型尤其所赋数据的类型决定,所以变量值与域其所赋数据的可取范围等价的。下面的我们就给出整数、浮点数、字符串和布尔型的区值范围,以参照确定应类型变量的值域。 1.整数的范围。WMLScript支持的整数是32位的,也就是说整数的区值范围是从2147483648到+2147483647。我们可以在程序运行期是用Lang函数来取得这些值,如:

Lang.maxInt(); //获取最大的整数

Lang.maxInt(); //获取最小的整数

2.浮点数的范围。它是指WMLScript浮点数的精度所能表示的最小和最大数值WMLScript支持32为的单精度浮点数,其最大至时3.40282347E+38,最小的非零的数是1.17549435E-38或更小(按照正常的精度)。

我们可以使用浮点Float函数库在程序运行其取得这些数值:

Float.maxFloa(); //获得WMLScript所支持的最大浮点值

Float.maxFloa(); //获得WMLScript所支持的最小浮点值
对于运行期出现的一些特殊的浮点数,WMLscript将按照下述规则处理:

其一,如果操作结果是一个不能被单精度浮点数所能表示的数值,那么该结果将被认为是invalid,即无效值;

其二,如果操作结果发生下溢出,那么结果将作为0.0处理:

其三,负的零和正的零是完全相等的。

3.字符串的范围。任何由于字母、数字或特殊字符组成的符号串都是WMLScript中定义的有关字符串的操作或String库中的函数控制字符串
返回书页
good 276

发表评论

文明评论,重在参与

暂无评论!

朋友圈|阅读|美图|切换

琴剑听月 微信:qjtywwx 10月4日(五) 17:1
©2015 数据时代 京ICP备13050724号