用js创建类和对象的两种不同方法
在Javascript中,当你定义一个新的功能,你实际上宣告了一个新的类和函数本身是等价类的构造函数。下面的代码显示了你两种不同的方法来创建一个新的人类,和person.prototype定义后的函数的定义。var =函数(name){匿名函数,这个函数将被赋值给一个变量,这个人变成了一种
this.name =名称;
}
函数名(名称){函数名的直接定义
this.name =名称;
}
原型person.prototype = { / /人
printname:(功能){ / /定义打印功能
警报(这个名字);
}
}
当以函数的方式声明类时,可以通过新操作符实例化类。这样,您可以调用类的成员函数来完成逻辑。
var(=乔·史密斯);使用新操作符创建一个人并分配给变量人的示例
(人。printname); / /人可以作为一个参考的实例(参考),所以可以调用成员函数,在人类的参考
让我们总结创建一个新类实例的整个过程和步骤:
1。通过定义函数(匿名或真名)声明一个新类。
2。如果有必要,定义这个新类的原型域。
3、使用new操作符用所定义的函数创建类的新实例。一旦Javascript编译器遇到新操作符,它实际上会创建一个空类实例变量。
4、将这个类的原型域中的所有属性和方法复制到这个新实例中,并将这个指针中的所有成员都指向这个新创建的实例。
5。接下来,执行跟随新操作符的函数。
6、当你执行这个函数时,如果你试图分配一个不存在的属性,Javascript编译器会自动在这个实例的范围内为你创建这个属性。
7以后。函数完成后,返回此初始化的实例。
在原型,使用类的对象,你可以在一个相对简单的方式宣告了一个新的对象,利用class.create(),创建一个默认构造函数初始化原型()你。一旦你实现了这个功能,你可以在某种程度上类似于java构造函数创建一个新的类实例。