<!--函数的定义-->
<body>
<!--普通定义:-->
<script type="text/javascript">
function displaymessage(){
alert("您好!")
}
</script>
<form>
<input type="button" value="点击我!" onclick="displaymessage()"/>
</form>
</body>
<body>
<!--函数的变量的定义方式-->
<button onclick="area()" value="啦啦啦">
<script type="text/javascript">
var circularityArea = new function("r","return r*r*Math.pl");
var rCircle = 5;
var area = circularityArea(rCircle);
document.write("半径为5的圆的面积是:"+area);
</script>
</body>
<body>
<!--函数的指针调用方式-->
<script type="text/javascript">
function sortNumber(obj,func) //定义通用排序函数
{ //参数验证,如果第一个参数不是数组或者第二个参数不是函数则抛出异常
if(!(obj instanceof Array)||!(func instanceof Function)){
var e = new Error(); //生成错误信息
e.number = 100000; //定义错误号
e.message = "参数无效"; //错误描述
throw e; //抛出异常
}
for(n in obj){ //开始排序
for(m in obj){
if(func(obj[n],obj[m])) //使用回调函数排序,规则有用户定义
{
var tmp = obj[n];
obj[n] = obj[m];
obj[m] = tmp;
}
}
}
return obj; //返回排序后的数组
}
function greatThan(arg1,arg2){ //回调函数,用户定义的排序规则
return arg1<arg2; //规则:从小到大
}
try{
var numAry = new Array(6,14,12,33,25,51,90,86); //生成一数组
document.write("<li>排序前:"+numAry); //输出排序前的数据
sortNumber(numAry,greatThan) //调用排序函数
document.write("<li>排序后:"+numAry); //输出排序后的数组
}
catch(e){
alert(e.number+":"+ e.message); //异常处理
}
</script>
</body>