javascript学习日记之函数(二)

2016-11-28  本文已影响5人  XIAOINNE

javascript的函数比其他编程语言函数内容还多的多.

  1. 自调函数
    什么是自调函数呢
    就是函数在定义后可以自行调用。比如像这样:
(function (){
    alert ("我是自调函数");
   
})();

这种语法看上去还挺吓人 但是理解起来并不困难 也就是将匿名函数放进一个括号内 外面在紧跟着一个括号。第二括号表示
‘立即调用’的意思,当然也是传递参数的地方 比如:

(function (name){
   alert ('My name  is ' +'name' !);
    }
)('ALazyPig'); 

自调函数 使用的好处就是不会产生全局变量,当然缺点就是无法重复执行(当然你可以放进某个循环里 或放进某个函数里)

2内嵌函数
所谓内嵌函数 就是在函数里在定义个函数。

function  fun (param){
  function fn(two){
   return two *2;
  };
 return 'the result is'+ fn(param);
};

当调用函数fun时,函数fn也会在其内部调用,而在fun函数外是无法调用,所以也可以称他为(内部)私有函数

alert(fun(3)); //9
alertfn((3)) ; //alert fn is not defined

2.以函数为返回值的函数
因为函数始终有个返回值,即使有时候不是明确的返回,也会隐式返回一个undefined,既然函数都会返回一个值 ,那么也会可能返回一个函数。比如:

function one (){
  alert('ONE');
  return function(){
  alert('TWO');
  };
}

上面代码 先alert'one',但是返回是另一个函数 alert'two',调用时直接将函数赋值给某个变量就可以了。

var newfun = one ();
alert(newfun());

当然如果想立即执行的话 直接在函数加个括号就行了

one()();
上一篇下一篇

猜你喜欢

热点阅读