• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

将脚本分割成函数(函数对象)

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 13次 | 进入软件测试论坛讨论

领测软件测试网

将脚本分割成函数(函数对象)

当你有一个脚本变得很长或很复杂时,将其分割成几个独立的函数是个好办法,函数是一群语句的集合,你可以调用多次同一个函数,你也可以传递参数给函数并从函数获得返回值。

对于JScript这样的面向对象语言,函数实际上也是对象,虽然函数是对象,但它们工作起来就象VBScript的过程和函数一样(JScript中设有过程),你可以象下面所示那样明确地建立一个新函数:

<%

myfunc=new Function(“myvar”,“myvar2”,“return myvar-myvar2”);

%>

这个脚本创建了一个名为myfun()的函数,它接收两个名为myvar和 myvar2的参数,并将一个参数与另一个进行相减。建立了这个函数以后,你可以象下面这样输出函数的值:

<%=myfunc(3,1)%>

在此例中,值3和1被传给了函数,并从函数获得返回值2。

然而你并不需要用这种方法来明确地建立一个函数对象,你也可用下面的方法来建立一个对象。这与你用别的编程语句建立函数是一样的,如下所示:

<%

function myfunc(myvar,myvar2)

{

return myvar-myvar2;

}

%>

这个脚本建立了一个与上面那个例子中一样的函数,它有两个名为myvar和 myvar2的参数,函数通过return语句返回两个参数和差值。

注意使用了花括号({})来指明函数体,JScript使用括号来将一群语句集中起来,函数体中可包含多条语句。来看下面的例子:

<%

function emphasize(thestring)

{

thestring=thestring.bold();

thestring=thestring.italics();

thestring=thestring.big();

return thestring;

}

%>

<%=emphasize(“This is important!”)%>

在此例中,建立了一个函数emphasize(),它接收一个字符串参数,它以黑体、斜体及大字体返回任何传给它的字符串。

一个函数可以没有返回值,也可以没有任何参数。下面的脚本与上面这个输出相同的结果:

<%

function emphasize()

{

thestring=“This is important!”;

thestring=thestring.bold();

thestring=thestring.italics();

thestring=thestring.big();

%>

<%=thestring%>

<%

}

%>

<%=emphasize()%>

在此例中,与前一个脚本不同,字符串变量的值在函数体中给出,这个函数总是返回字符串“This is important!”,它总是完成同一功能。使用参数和返回值的一个主要的好处,就是它使得函数更具灵活性,因而就更有用。

注意名为thestring的字符串变量在此例中是怎样使用的。变量thestring首先在函数中被赋值。由于这个原因,你可能认为这个变量在函数范围之外是不存在的。然而在此例中,变量thestring实际上在整个脚本中都是存在的.

要建立一个特定函数的局部变量,你需要在函数体中明确申明它。你可用var语句来实现这一点。来看下面这个脚本中的两个变量:

<%

function greet()

{

myvar=“Hello!”;

var myvar2=“How are you?”;

return myvar+myvar2;

}

myvar2=“Goodbye!”;

%>

<%=greet()%>

<%=myvar2%>

当执行这个脚本时,字符串“Hello!How are you?Goodbye!”被显示在浏览器上。注意,名为myvar2变量被赋于了不同的值。这个脚本中实际上存在两个同名的变量。函数中申明的变量myvar2只存在于函数之中。对这个变量赋值不会影响到函数之外的变量myvar2。这就是为什么在最后一句语句中,脚本输出的是“Goodbye!”而不是“How are you?”。

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网