网络编程
位置:首页>> 网络编程>> JavaScript>> 由浅到深了解JavaScript类(4)

由浅到深了解JavaScript类(4)

作者:泣红亭 来源:无忧脚本 发布时间:2008-06-16 13:20:00 

标签:类,javascript,编程

构造函数

        一个类在初始化的时候其实也是一个函数的执行过程,这个函数就是构造函数,我们看一下下边的代码:

  function WuYouUser()
        {
                this.Name = "泣红亭"; //默认定义为泣红亭
                alert(this.Name);
        }
        var Wo = new WuYouUser();//可以看到出现一个窗口显示泣红亭三个字

可以看出类的定义不仅仅是定义了它的属性与方法,还同时可以加入一些代码,而这些代码就是该类的构造函数的代码,在实例声明过程中被执行!
        其实说起来,类的属性与类的方法都是在构造函数里执行定义的,看下边的代码

 function WuYouUser()
        {
                this.Name = "泣红亭";
                return;
                this.Sex = "男";
        }
        var Wo = new WuYouUser();
        document.write(Wo.Name); //泣红亭
        document.write(Wo.Sex); //undefined,即未定义

看得出什么?Sex属性是在return;之后的,而WuYouUser类的构造函数遇到return即停止运行,换句话说this.Sex = "男";这一行是没有被执行,即Sex属性根本没有被定义!
       
        构造函数可以有参数,参数值在声明实例的时候被传入:

 function WuYouUser(Name)
        {
                this.Name = Name;
        }
        var Wo = new WuYouUser("泣红亭");
        document.write(Wo.Name); //泣红亭

构造函数不需要返回值,但如果你设置了返回值,可以把它当成一个函数来使用

 function Sum(a, b)
        {
                this.a = a;
                this.b = b;
                return this.a + this.b;
        }
        document.write(Sum(12, 23)); //输出的是12与23的和35
        var Obj = new Sum(12,23);
        document.write(Obj.a) // 12
        document.write(Obj.b) // 23

感觉挺奇妙,对吧?我写这文章写着写着也觉得挺奇妙的,呵呵!

 但强烈建议不要把一个类当成一个函数来使用!如果你需要的是一个函数,请直接写成函数而不要写成类,以免搞混了。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com