八面玲珑的函数

来源:互联网 发布:js中kjur undefine 编辑:程序博客网 时间:2024/06/14 09:51

JS函数具有极大的灵活性和极强的表现力。

 1.可以用为运算元参与表达式运算:

 var a = 16+(function(){ return 5;})();
 alert(a); //返回值21

  2.可以作为一个值储存在变量中
     var a=function(){ return 5;}
  alert(a());
 
  3.可以作为其它函数的参数,传入函数
     function f(a){
  a.call(null); //call方法,JS手册释义为: 调用一个对象的一个方法,以另一个对象替换当前对象。
  }
  f(function(){
  alert("这是什么?");
  })

  4.可以作为其它函数的返回值。传出函数
      var i = 1;
   function f(){
  alert(i++);
  return arguments.callee; //返回函数自身 arguments.callee
   }
   f()()()()()(); //连续调用函数6次,则弹出6次函数提示框

5.可以在运行时构造对象
      function f(name){ //使用函数创建类
  this.name = name;
  this.saying = function(){
   alert(this.name);
  }
   }
   var a=new f("cancan"); //创建对象实例
   a.saying();  //返回字符串cancan

来自朱印宏老师的《javascript征途》一书

原创粉丝点击