1.函数的作用域:对于声明函数的对象来说,是全局的,该对象的所有代码都可以调用它。
//调用函数
function SumTwo(a,b) {
return(a+b);
}
TheApplication().RaiseErrorText(SumTwo(3,4));
//将函数作为global对象的方法进行调用
function SumTwo(a,b) {
return(a+b);
}
TheApplication().RaiseErrorText(global.SumTwo(3,4));
2.函数参数传递方法:
(1)按值传递,将参数的值传递给函数,即使函数对参数值进行了更改,也不会反映到传入的变量,用于string,number,boolean扽原生数据类型。
(2)按址传递,传递参数的指针,任何对参数的变更将会反映到传入的变量中,用于其他的数据类型和数组。
3.函数中return后面的语句都不会执行
4.函数的Arguments[]属性:传递给函数的参数组成的数组,传递给函数的第一个参数可以使用arguments[0]来引用它,依此类推。这个属性允许我们编写含有不定个数参数的函数,但该属性仅在函数内部可用。
function SumAll() {
var total=0;
for(var ssk=0;ssk<SumAll.arguments.Lenfth;ssk++)
{
total +=SumAll.arguments[ssk];
}
return total;
}
5.escript函数不允许递归
6.函数中的错误检查
var fp = Clib.fopen("myfile.txt","r");
if(null == fp)
{
TheApplication.RaiseErrorText("Error with fopen as returned null" + "in the following object:" + this.name() + " " + e.toString() + e.errText());
}