<script type="text/javascript">
function test(){
console.log("123")
document.write("456")
}
test();
// 命名函数表达式
var a=function teot(){
console.log(a.name)//a的name是teot
}
a();
// teot();不可以这样写,后面的是表达式他会赋值给a所以调用teot不行
// 匿名函数表达式
var bg=function(){
document.write(bg.name)
}
bg();
// 传递参数
function add(a,b){//刑参
// 上面定义的其实就是var a var b
var c=a+b;
document.write(c)
// 后两位没有定义型参,(是不是感觉得不到结果) 可以用arguments来获取实参列表,来获取数据,arguments那个方法里都有,那么就可以用for循环来获取数据
var n=0;
for (var i = 0; i < arguments.length; i++) {
n+=arguments[i]
}
return n;//这个函数的返回值和java一样
}
document.write(add(55,55,66,77));//实参 传递的数量没有约束
function hh(a,b,c){
var n=0;
for (var i = 0; i < arguments.length; i++) {
n+=arguments[i]
}
console.log(c);//如果没有赋值这是undefined
return n;
}
document.write(" 空格"+hh(1,2));
</script>
arguments如果:形参和实参传递的数量一样的话,arguments和参数是映射关系
练习
//输入动物返回叫声
function scream(animal){
switch(animal){
case "dog":
document.write("wang!");
break;
case "cat":
document.write("miao!");
break;
case "fish":
document.write("0-0-0");
break;
}
}
scream('dog')
2阶乘
function transfer(n){
return n * transfer(n-1)
}
网友评论