js constructor的实际作用分析

下面是“js constructor的实际作用分析”的完整攻略。

下面是“js constructor的实际作用分析”的完整攻略。

什么是js constructor?

在JS中,构造函数是用于创建对象的特殊函数。使用构造函数我们可以定义一个特定的对象,并可以为该对象添加属性和方法以及初始化它的值。构造函数是通过关键字"new"来运行的。每个引用类型都有一个constructor(构造函数)属性,这个属性指向该对象的构造函数。

构造函数的实际作用

1. 创建对象

构造函数主要作用就是用于创建新的对象。在创建对象的时候,构造函数通过this关键字来指定新创建的对象实例,然后根据需求为该对象添加属性或者方法。

示例1:创建一个人的对象

下面是创建一个人的对象的代码:

function Person(name, age) {
  this.name = name;
  this.age = age;
  this.sayName = function() {
    console.log(this.name);
  };
}

var p1 = new Person('小明', 18);
console.log(p1.name); // 小明
p1.sayName(); // 小明

上面的代码中,我们定义了一个叫做Person的构造函数用于创建人的对象。在构造函数内部我们使用了this关键字来指向新创建的对象实例,然后再添加这个人的名字和年龄以及说出名字的方法。最后我们使用new关键字来创建一个名字叫做小明,年龄18的人的对象。我们可以通过访问p1对象的属性,或者调用它的sayName方法来获取我们想要的信息。

2. 封装相关行为

构造函数可以封装相关的行为,使得代码更加模块化,避免功能的重复实现。

示例2:创建一个屏幕的对象

下面是创建一个屏幕的对象的代码:

function Screen(width, height) {
  var screenWidth = width;
  var screenHeight = height;
  function checkSize(size) {
    return size > 0 ? size : 0;
  }

  this.setWidth = function(width) {
    screenWidth = checkSize(width);
  };

  this.setHeight = function(height) {
    screenHeight = checkSize(height);
  };

  this.getWidth = function() {
    return screenWidth;
  };

  this.getHeight = function() {
    return screenHeight;
  };
}

var s1 = new Screen(1024, 768);
console.log(s1.getWidth()); // 1024
s1.setWidth(-200);
console.log(s1.getWidth()); // 0

上面的代码中,我们定义了一个叫做Screen的构造函数用于创建一个电脑屏幕的对象。在构造函数中,我们定义了一个checkSize的私有函数,用于校验传入的尺寸是否合法。然后我们定义了一个名叫setWidth的方法来设置屏幕的宽度,定义了一个名叫setHeight的方法来设置屏幕的高度,定义了一个名叫getWidth的方法来获取屏幕的宽度,定义了一个名叫getHeight的方法来获取屏幕的高度。通过这些方法,我们可以安全的获取到屏幕的尺寸,并且可以自行校验输入的参数。

总结

通过上面的分析,我们可以看到构造函数可以用于创建特定的对象,并且可以为这个对象添加属性和方法。在实际开发中,我们可以利用构造函数的特性来封装关联的行为,使得代码更加模块化,避免功能的重复实现。

本文标题为:js constructor的实际作用分析

基础教程推荐