构造函数讲解

最近几天一直在研究学习面向对象的东西,这几天的学习,学到不少东西,在这里做一下适当的分享,有很多的人分不清构造函数和函数的区别,这里我总结了一些,希望对大家能有帮助。

1、什么是构造函数?

   构造:他就是设计、组合,将没有的东西概念实现。其实构造函数就是函数,任何

   函数都可以做为构造函数来使用,他的作用就是初始化对象。

2、new 是什么?

   我们所认识的构造函数通常都是和new配合使用的,我最开始的时候就是这样认为的,

   new就是创建对象,从无到有,我们可以理解为一个没有穿衣服的新生儿,new就好比

   有一个新对象,但是没有任何成员,好比代码     var obj = {  }

   构造函数就是在为他初始化,简单的说就是为他添加属性和方法(成员)

   好比代码:

Var obj = { };

obj.name = “jack”;

Obj.age = 18;

Obj.gender = “男”;

  我们将四句代码简化就得到了:

  var Person = function () {};

  var obj = new Person (“jack” , 18 , “男”);

  相当于在函数里面添加: var Person = function () { this.name = “jack”;

  this.age = 18;

  this.gender = “男”;

};

  构造函数如何初始化,就得看 this

  我们给构造函数添加对象成员:对象.成员 =

 

  构造对象的整个过程:

  1new 申请内存,创建对象

  2、调用构造函数,构造函数有一个隐式参数,即 this 如果Person 函数里的成员没有this

     指向的话,利用对象 obj 访问是访问不到的,如下:

     var Person = function () {

                          sayHello = “你好”;

                      This.name = “tom”;

                         };

     var obj = new Person () ;

     console.log(obj.sayHello); // 这里打印的是  undefined

     console.log(obj.name);   // 这里打印的是  tom

  3、刚创建出来的对象的引用 赋值给 this,由函数来处理

  4、在构造函数中利用 this.成员 = 值  来给对象添加成员

 

总结:由函数实例化后得到的对象,那么这个函数就是构造函数,这样就 使函数可以被外   界访问,由一个封闭的空间变成一个开放的空间

posted @ 2016-04-02 20:31  金良子  阅读(368)  评论(0)    收藏  举报