📄 9-7.cfm.htm
字号:
<html>
<head>
<title>将脚本分割成函数(函数对象)</title>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<meta NAME="GENERATOR" CONTENT="Microsoft FrontPage 3.0">
</head>
<body>
<font FACE="宋体" SIZE="5"><b>
<p ALIGN="JUSTIFY">将脚本分割成函数(函数对象)</p>
</b></font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY">当你有一个脚本变得很长或很复杂时,将其分割成几个独立的函数是个好办法,函数是一群语句的集合,你可以调用多次同一个函数,你也可以传递参数给函数并从函数获得返回值。</p>
<p ALIGN="JUSTIFY">对于JScript这样的面向对象语言,函数实际上也是对象,虽然函数是对象,但它们工作起来就象VBScript的过程和函数一样(JScript中设有过程),你可以象下面所示那样明确地建立一个新函数:</p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">myfunc=new Function(“myvar”,“myvar2”,“return myvar-myvar2”);</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY">这个脚本创建了一个名为myfun()的函数,它接收两个名为myvar和
myvar2的参数,并将一个参数与另一个进行相减。建立了这个函数以后,你可以象下面这样输出函数的值:</p>
<p ALIGN="JUSTIFY"><%=myfunc(3,1)%></p>
<p ALIGN="JUSTIFY">在此例中,值3和1被传给了函数,并从函数获得返回值2。</p>
<p ALIGN="JUSTIFY">然而你并不需要用这种方法来明确地建立一个函数对象,你也可用下面的方法来建立一个对象。这与你用别的编程语句建立函数是一样的,如下所示:</p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">function myfunc(myvar,myvar2)</p>
<p ALIGN="JUSTIFY">{</p>
<p ALIGN="JUSTIFY">return myvar-myvar2;</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY">这个脚本建立了一个与上面那个例子中一样的函数,它有两个名为myvar和
myvar2的参数,函数通过return语句返回两个参数和差值。</p>
<p ALIGN="JUSTIFY">注意使用了花括号({})来指明函数体,JScript使用括号来将一群语句集中起来,函数体中可包含多条语句。来看下面的例子:
</p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">function emphasize(thestring)</p>
<p ALIGN="JUSTIFY">{</p>
<p ALIGN="JUSTIFY">thestring=thestring.bold();</p>
<p ALIGN="JUSTIFY">thestring=thestring.italics();</p>
<p ALIGN="JUSTIFY">thestring=thestring.big();</p>
<p ALIGN="JUSTIFY">return thestring;</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY"><%=emphasize(“This is important!”)%></p>
<p ALIGN="JUSTIFY">在此例中,建立了一个函数emphasize(),它接收一个字符串参数,它以黑体、斜体及大字体返回任何传给它的字符串。</p>
<p ALIGN="JUSTIFY">一个函数可以没有返回值,也可以没有任何参数。下面的脚本与上面这个输出相同的结果:</p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">function emphasize()</p>
<p ALIGN="JUSTIFY">{</p>
<p ALIGN="JUSTIFY">thestring=“This is important!”;</p>
<p ALIGN="JUSTIFY">thestring=thestring.bold();</p>
<p ALIGN="JUSTIFY">thestring=thestring.italics();</p>
<p ALIGN="JUSTIFY">thestring=thestring.big();</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY"><%=thestring%></p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY"><%=emphasize()%></p>
<p ALIGN="JUSTIFY">在此例中,与前一个脚本不同,字符串变量的值在函数体中给出,这个函数总是返回字符串“This
is important!”,它总是完成同一功能。使用参数和返回值的一个主要的好处,就是它使得函数更具灵活性,因而就更有用。</p>
<p ALIGN="JUSTIFY">注意名为thestring的字符串变量在此例中是怎样使用的。变量thestring首先在函数中被赋值。由于这个原因,你可能认为这个变量在函数范围之外是不存在的。然而在此例中,变量thestring实际上在整个脚本中都是存在的.</p>
<p ALIGN="JUSTIFY">要建立一个特定函数的局部变量,你需要在函数体中明确申明它。你可用var语句来实现这一点。来看下面这个脚本中的两个变量:</p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">function greet()</p>
<p ALIGN="JUSTIFY">{</p>
<p ALIGN="JUSTIFY">myvar=“Hello!”;</p>
<p ALIGN="JUSTIFY">var myvar2=“How are you?”;</p>
<p ALIGN="JUSTIFY">return myvar+myvar2;</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY">myvar2=“Goodbye!”;</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY"><%=greet()%></p>
<p ALIGN="JUSTIFY"><%=myvar2%></p>
<p ALIGN="JUSTIFY">当执行这个脚本时,字符串“Hello!How are you?Goodbye!”被显示在浏览器上。注意,名为myvar2变量被赋于了不同的值。这个脚本中实际上存在两个同名的变量。函数中申明的变量myvar2只存在于函数之中。对这个变量赋值不会影响到函数之外的变量myvar2。这就是为什么在最后一句语句中,脚本输出的是“Goodbye!”而不是“How
are you?”。</p>
</font>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -