函数的返回值
函数中每个可能的控制流都必须返回值
public function ab(a:int, b:int):int
{
if (a < b)
{
return 1;
}
else if (a > b)
{
return -1;
}
else if(a == b)
{
return 0;
}
}
{
if (a < b)
{
return 1;
}
else if (a > b)
{
return -1;
}
else if(a == b)
{
return 0;
}
}
这里的错误在于控制流
else if(a == b)
{
return 0;
}
{
return 0;
}
不是最后一个控制流,if不是控制流的结束,else才会是控制流的结束。也就是说if控制流后面的控制流没有得到返回类型为int的值,因而出错,当然这个错误是逻辑错误,并非语法错误。
函数的返回值类型为:*或者为:void要注意:
// void是一种特殊类型,此类型的特殊之处在于它仅用于函数的返回类,表示函数不返回任何数据类型的值,返回值为空
//(当然就不可以返回undefined,因为undefined是void 类型包含的唯一值,返回undefined也就是返回了一个void类型的值)
//*表示返回值为任意类型,当然包括undefined这种void类型的值
//(当然就不可以返回undefined,因为undefined是void 类型包含的唯一值,返回undefined也就是返回了一个void类型的值)
//*表示返回值为任意类型,当然包括undefined这种void类型的值