构造函数讲解
最近几天一直在研究学习面向对象的东西,这几天的学习,学到不少东西,在这里做一下适当的分享,有很多的人分不清构造函数和函数的区别,这里我总结了一些,希望对大家能有帮助。
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
我们给构造函数添加对象成员:对象.成员 = 值
构造对象的整个过程:
1、new 申请内存,创建对象
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.成员 = 值 来给对象添加成员
总结:由函数实例化后得到的对象,那么这个函数就是构造函数,这样就 使函数可以被外 界访问,由一个封闭的空间变成一个开放的空间

浙公网安备 33010602011771号