JavaScript函数 Day2

函数

  • 变量提升和函数提升
//function 提升(在var之前)
//var 变量提升
fn(); //会打出666,因为function提升到代码块最前面。
function fu(){
  alert(666);
};
// console.log(c); 控制台报错,因为c没有声明。
console.log(a); //控制台打印 undefined ,表示a空间已经声明未赋值。
var a = 10; //var 声明a这个变量空间会提升到代码块最前面。
  • 函数实现累加、阶乘(函数的自调用)


return

  • 返回值
  • 遇到return就结束函数,无论后面是否还有代码。

作业

  • 阶乘 加减
  • 多参和
  • 3d彩票
  • 2a^2+20 前十项和 fn(10)

形参和实参

function fn(num1,num2){
//var num1;
//var num2;
  console.log(num1);
  console.log(num2);
}
fn(10); //不报错,显示10 undefined
  • arguments[ ] 实参对象
function fn(num1,num2){
  console.log(arguments[0]);
  console.log(arguments[1]);
  console.log(arguments[2]);
}
fn(10,20,30); //可以输出三个值,不会报错,如果没有第三个参数,arguments[2]输出undefined
  • arguments.callee用法
(function(n){
   if(n > 1)      
    return n* arguments.callee(n-1); //函数中调用自己
   return n;
})(10); //匿名函数实现阶乘

你可能感兴趣的:(JavaScript函数 Day2)