<html>
<head>
<meta charset="utf-8">
<title></title>
<!--
函数
1.函数的声明【定义】3种
1.1 声明式定义 常用
1.2赋值式定义 了解
1.3匿名式定义 常用
拓展:定义带参的函数
2.函数的调用---》传参的问题
2.1当定义带参数的函数;调用时,没有传参不会报错,但是会给定一个默认值undefined
2.2当定义带参数的函数;调用时,传递的参数个数与定义参数个数不匹配时也不会报错,
会按照定义的顺序进行赋值,没有传递到的参数会给默认值undefined
3.函数的返回值
使用场合:当处理一些复杂的业务时,当前函数代码的执行轨迹需要由另一个函数的返回值来决定
3.1当没有指定返回值的时,默认返回undefined
3.2用return关键字指定需要给定的返回值即可。
-->
<script type="text/javascript">
//1
//1.1 声明式定义 常用
function testA(a,b){
alert("1.1 声明式定义 常用"+a+" "+b);
}
//1.2赋值式定义 了解
var testB=new Function("a","b","alert('1.2赋值式定义 了解'+a+b)");
//1.3匿名式定义 常用
var testC=function(a,b){
alert('1.3匿名式定义 常用'+a+b);
}
//2.调用
//testA();
//testA(90);
//testB();
//testB(30);
//testC();
//testC(30,40);
//3.函数的返回值
function testM(){
alert('testM');
//指定返回值
return 55;
}
function testN(){
//testM();
var result=testM();
alert(result);
if(result>90){
alert("90后");
}else{
alert('60 70 80后');
}
}
//调用
testN();
</script>
</head>
<body>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<!--
js中函数的数据类型也是object
1.函数可以作为一个实参进行传递(对象可以作为参数进行传递)
2.函数执行符:()
1.当接收函数对象参数定义的方法中未添加函数执行符时,会进行原样输出
2.当接收函数对象参数定义的方法中添加函数执行符时,会将对象对象参数作为一个函数进行执行
-->
<script type="text/javascript">
/*function testM(a){
alert("testM");
alert(a);//函数对象会进行原样输出
}*/
//改进
function testM(a){
alert("testM");
alert(a());//会将对象参数作为一个函数进行执行
}
var testY=function(){
alert("我是用来作为参数进行传递的");
return 90;//指定什么就返回什么
}
//调用
//普通参数作实参
//testM("普通参数");
//函数对象作为实参
testM(testY);
</script>
</head>
<body>
</body>
</html>