如题所述
本文章将分享有关JavaScript中构造函数的知识,有一定的参考价值。希望对大家学习有所帮助。
构造函数其实也就是常规函数,但是在命名时首字母要大写,并且调用构造函数时注意要用new关键字实例化,这样的使用意味着this在开始时创建空,并在结束时返回填充的空,接下来将在文章中为大家详细介绍。
构造函数生成
this在开始时创建空,并在结束时返回填充的空
function Student(name age){
this.name=name;
this.age=age;
}
var student=new Student("张三","18");
var student1=new Student("李四","19");
在执行函数的过程时Student()时会执行以下步骤:
(1)创建并分配新的空对象this。
(2)函数体执行。通常它会修改this,为其添加新属性。
(3)this返回值。
同样,如果我们想要创建更多的student,我们可以调用new Student(),每次方法简单而且也易于阅读。
这是构造函数的主要目的:实现可重用的对象创建代码。
构造函数返回
一般情况下,构造函数没有return声明,他们的任务是将所需要的东西写入this,并自动生成结果。
但是如果有return的话,就会变得很简单了,比如return使用object调用,则返回的不是this,也就是return对象返回该对象,this则返回所有其他情况
例如,这里通过返回一个对象来return覆盖this
function Student() {
this.name = "张三";
return { name: "李四" }; //return 一个对象
}
console.log( new Student().name );因为return 一个对象,所以返回的是return里面的值而不是this中的值
但是如果我们return的是一个空值,那么返回的就是this值
<script>
function Student() {
this.name = "张三";
return; //return 一个空对象
}
console.log(new Student().name );
</script>
构造函数中的方法
构造函数不仅可以添加属性还可以添加方法,使构造函数来创建对象更加灵活
<script>
function Student(name) {
this.name = name;
this.friend=function(){
console.log("this my friend:"+this.name);
};
}
var student=new Student("张三");
student.friend();
</script>
总结:
温馨提示:答案为网友推荐,仅供参考