Javascript前端开发那些事儿JavaScript入门教程

JavaScript构造函数

2021-08-03  本文已影响0人  微语博客

在JavaScript编程中,构造函数是面向对象编程的基础。创建构造函数和普通函数一样,也是使用function关键字定义,但是构造函数的函数名习惯首字母大写。构造函数和普通函数的区别在于调用方式不一样,作用也不一样,构造函数用来新建对象实例的。

构造函数定义与调用

使用function关键字定义构造函数

function Person(){
    //函数体
}

从上面的示例可以很清晰看出构造函数和普通函数的定义基本一样,只是名称的命名习惯不同,但是函数的调用却不同。普通函数直接函数名加括号调用,构造函数使用new关键字实例化为对象。

function Person(){
    //函数体
}
var person = new Person();//创建person对象

Person 既是函数名,也是这个对象的类名

属性和方法

构造函数和对象一样,拥有方法和属性,而且这些方法和属性都会被实例化的对象所继承。在构造方法内部,指定属性和方法使用this关键字。

function Person(){
    this.name = "Cherry";
    this.speak = function (){
        console.log("I speak English");
    }
}
var person = new Person();
console.log(person.name);//Cherry
person.speak();//I speak English

上面的例子我们为构造函数创建了一个属性和一个方法,使用该构造函数实例化的对象都拥有该属性和方法。但是我们固定了属性和方法的值,所以显得不灵活,我们可以通过参数指定属性和方法的值。

var speak = function(){
    console.log("I speak English");
}
function Person(name,speak){
    this.name = name;
    this.speak = speak;
}
var person = new Person("Cherry",speak);//实例化对象的时候传入实参
console.log(person.name);//Cherry
person.speak();//I speak English

这个例子与前一个结果一样,但是我们可以传入不同的实参,就可以有不同的结果。

上一篇 下一篇

猜你喜欢

热点阅读