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

文章介绍了如何在JScript中创建和使用函数,包括通过newFunction创建和直接定义方式,强调了函数的参数、返回值的使用以及局部变量的作用域。示例展示了如何通过函数处理字符串,以及var关键字声明局部变量的重要性。
摘要由CSDN通过智能技术生成

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

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

对于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?”。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白的编程日志

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值