日期:2014-03-25  浏览次数:21188 次

  作为一种编辑言语,WMLScript提供了强大的函数、语句和库功用,以及外部编辑、访问控制等支持,同时对程序运转中可能产生的错误给出了检测手段和具体的处理办法。这些内容属于WMLScript的脚本程序设计知识和进一步的编程规定,我们本章就对此进行详细引见。

  5.1 语句

  前面我们学习了变量、操作符和表达式,但仅由这些内容并不能完成某个完整的功用,由于他们不能构成完整的操作或处理程序。变量就好像与严重的单词,表达式如言语中的词组,他们都不能表达一个完整的意思;只要语句,是言语中完整的句子,能够表达完整的意思并实现某个完整的功用。WML Script提供了丰富的语句功用,使用这些语句我们可以在WML的卡片中建立交互功用和其他需求的复杂功用。

  在WML Script中,每条语句的后面都需求以一个分号(;)结尾。为了养成严谨的编程风格,建议大家编写脚本时,语句后一定要加上分号(;),这也有助于我们构成一种良好的编程习惯。

  WML Script语句的书写和陈列格式比较自在。我们可以在同一程序行中连续写上多个语句,也可以把同一语句分成多行陈列。WML Script将依据分号(;)来确定语句的具体内容。

  WML Script的语句次要包括两类。第一类是基本语句,如空语句、表达式语句、块语句、变量语句和return语句等;第二类是条件语句,如if语句;第三类是循环语句,如while语句、for语句、break语句和continue语句等。下面我们分别讲解这些语句的语法、功用和使用方法。

  5.1.1 基本语句

  WML Script基本语句次要用于程序格式控制和变量声明,其中有些语句我们曾经不太陌生了。

  空语句

  空语句用于定义一个空的程序行,它没有任何标识符和操作符,也不执行任何操作。它只是以分号(;)结束。其语法格式为:

  ;

  显然,空语句是一种十分特殊的语句。由是我们为了让程序具有更好的可读性,通常在程序中的适当地方加上几个空语句,以起到分隔或突出的作用。例如,下面的几行程序中就含有一个空语句:

  str="Hello";

  val=25;

  ;

  MyVal=val*val+5;

  alert("Hi,Hi!!!");

  再如,while语句用于判断一个条件并在条件满足的时候执行相应的任务,但如果希望条件满足的时候什么也不作,那么就可以给它配上一个空语句,使之条件满足的执行空操作:

  while(!poll(device));

  这实际上是while语句和空语句组成的两条语句。其中的分号(;)在这里就代表了空语句。这两条语句的作用是在poll()函数为真()之前不断等待。

  表达式语句

  表达式语句用于向变量赋值,或进行数学计算,或进行函数调用。表达式语句也是我们最常用的一种语句,语法格式为:

  表达式;

  下面几行程序都是合法的表达式语句:

  str="Hey"+yourName;

  val3=prevVal+4

  counter++;

  myValue1=counter,myValue2=val3

  alert("Watch out!");

  retVal=16*Lang.max(val3,counter);

  块语句

  块语句使用两个花括号({ })包含一个语句集,构成一个语句体。WML Script的许多语句都需求使用块语句来实现语句体,快语句的语法格式为:

  {

  语句列表;

  }

  下面的简单程序就是使用块语句的例子:

  }

  vari=0;

  var x=Lang.abs(b);

  popUp("Remember!");

  }

  变量语句

  变量语句用于生命变量并可进行变量的初始化赋值。如果用户不赋值,那么WML Script会自动将变量语句生命的变量赋予一个空字符串("")。基本的语法格式为:

  var 变量名;

  如果像一次生命多个变量,则相邻变量名之间使用逗号(,)间隔,其语法格式为:

  VAR 变量名1,变量名2......,变量名n;

  如果想在生命变量时同时初始化变量,则可按如下语法格式书写:

  var 变量名=初始化

  为便于大家更好的掌握变量语句,我们给出一个多出使用该语句的程序:

  function count(stu){

  var result=0; //声明变量的同时初始化变量

  while(str!=""){

  var ind=0; //每次循环都初始化一次

  // 为退出循环,本块语句内该当提供修正变量str值的语句

  };

  return result

  };

  function example(param){

  var a=0;

  if(param>a){

  var b=a+1; //声明b变量的同时使用a变量初始化b变量

  }else{

  var b=a+2; //声明c变量的同时使用a变量初始化c变量

  };

  return a; //前往a变量的值

  };

  注释语句

  严厉来讲,注释语句在WML Script中还不算是真正的语句,它只是一种前指向的规定。不过它也有严厉的语法和标注方法,所以我们这里还是像其他编程言语处理的一样,把WML Script注释方法以语句的方式引见一下。

  注释在程序执行的时候没有任何作用,但是可以用于对程序进行解释,则加强程序的可读性。为了构成良好的编程风格,我们应该养成书写注释的良好习惯,注释有两种表达方式:

  (1)通过双斜线注释一行,这样在双斜先后的字符将成为注释而不被执行。该注释行可以单独一行书写,也可以放在其他语句的后面。

  例如,可以进行如下所示的注释:

  //变量j用于小数每月的天数

  j=0; //我们这里将j赋值为0

  (2)通过符号“/*”和“*/”来规定注释语句,这种注释方式可以进行多行注释,符号“/*”和“*/”之间的内容就是注释语句。例如,可以进行如下所示的多行注释:

  /*我们定义了两个变量:i和j。其中:

  i用于描述每年中的月数,

  而j用于描述每月的天数*/

  j=0; /*我们这里将j赋值为0*/

  return语句

  return语句次要用在函数体中,在函数结束前,可以通过return语句,把函数处理的结果前往给调用函数的语句。它的语法格式如下:

  return表达式;

  下面的函数给出了使用return语句的例子:

  function square(x){

  if(!(Lang.isFloat(x)))return invalid;

  return x*x

  };

  5.1.2 条件语句

  在条件语句中,当满足某种条件时 ,就会执行指定的一些代码,而在代码组另外某种条件时,则会执行另外一些代码。WML Script的条件语句就是if...else语句,它的普通表达相识如下:

  if(条件){

  代码块1

  }

  else{

  代码块2

  }

  这样,当条件满足时,就执行代码块1;如果条件不满足则执行代码块2。代码块和代码块2中如果只要一个条语句,那么,花括号({ })就可以省略;而如果有多条语句,则必须实用花括号将代码块包括在其中。在if...else语句种,其中的else部分是可选的,也就是说,我们可以使用如下的表达方式:

  if(条件){

  代码块

  }

  这样,当条件满足时,就执行代码块,如果条件不满足则什么也不做。

  例如,如果我们需求对一个先生的成绩进行判定,如果大于等于60分,那么我们就认为该先生成绩合格了,反之则认为不合格,同时一并将形状记录到变量status种,相应的WMLScript语句如下所示:

  if(score>=60) status="pass";

  else status="fail";

  再如,我们可以通过对天气能否阳光普照(sunShines)的情况进行判断,来给变量myDay赋值,并累计好天气(goodDays)的天数。程序如下:

<