WEB开发网
开发学院网页设计JavaScript javascript”面向对象编程”- 3 function是方法(函... 阅读

javascript”面向对象编程”- 3 function是方法(函数)

 2009-09-16 00:00:00 来源:WEB开发网   
核心提示: 匿名函数一般可以满足临时的函数需求,不需要有变量对其进行引用(有名的函数可以认为是有变量引用的函数),javascript”面向对象编程”- 3 function是方法(函数)(4),比如需要一个函数做为值对象做为参数传入方法、需要编程的方式为对象添加事件,用匿名函数都可以很好的完成,其实jav

匿名函数一般可以满足临时的函数需求,不需要有变量对其进行引用(有名的函数可以认为是有变量引用的函数)。比如需要一个函数做为值对象做为参数传入方法、需要编程的方式为对象添加事件,用匿名函数都可以很好的完成。当然你也可以单独声明变量来引用某个匿名函数对象,这和普通有名函数就没什么区别了。

    function Each(array, fun) {
      for (var i = 0; i < array.length; i++) {
        fun(array[i]);
      };
    };
    var nums = [1, 2, 3, 4, 5, 6, 7];
    Each(nums, function(arg) {
      alert(arg);
    });

上面代码执行,依次输出数组中的元素。

    //在窗体加载时,在标题上显示当前时间
    window.onload = function() {
      document.title = new Date().toString();
    };
 
    //也可以将匿名方法传入定时器中
    setInterval(function() {
      document.title = new Date().toString();
    }, 1000);

使用匿名函数绑定事件和进行定时操作。

    var Hello = function() {
      alert("hello , everybody!");
    };

如果将匿名函数赋给变量,那和有名的普通函数就没区别了。但不管是变量引用还是普通地有名函数,这样的函数在内存上都持久的占有一定资源。有时候我们只想执行一次大不必使用有引用的函数,直接执行匿名函数可能是最好的选择。把匿名函数包起来,加个括号执行,一切ok,这就是由匿名函数延伸出来的立即执行函数。

    (function() {
      alert("hello , everybody!");
    })();
 
    (function(somebody) {
      alert("hello , " + somebody + "!");
    })("张三");

立即执行函数在做事件绑定,设置回调函数等方面往往会有意想不到的效果,可以解决诸如对象引用等问题。

    var student = {
      Name: "张三",
      Age: 20,
      Introduce: function() {
        alert("我叫" + this.Name + ",今年" + this.Age + "岁了!");
      } };
    window.onload = (function(obj) { return function() { obj.Introduce(); }; })(student);

因为javascript中函数的这些特点加之它的对象的特征,我们还可以写出一些有functional意味的程序出来。其实javascript中function真的是老大。

    function Sum(fun, x) {
      if (x <= 0)
        return 0;
      return fun(x) + Sum(fun, x - 1);
    };
  
    alert(Sum(function(i) { return i * i; }, 100));

下面这又是什么呢?是方法吗?是类吗?

    function Point() {

    };

先啰嗦到这,下次再看看类。

编缉推荐阅读以下文章

  • javascript”面向对象编程”- 2聊聊对象的事
  • javascript”面向对象编程”- 1万物皆对象
  • Javascript中的面向对象编程实例

上一页  1 2 3 4 

Tags:javascript 面向 对象

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接