<lenguaje de escritura="javascript">
funcióncircel(radio)
{//Esta función define la clase en sí. La siguiente r es una variable de instancia definida e inicializada por el constructor.
this.r=radio;
}
//Este atributo es una variable de clase, que es un atributo del constructor
círculo.PI=3,14159;
área de función()
{//Esta es, por supuesto, la fórmula para calcular el área de un círculo.
devolver este.PI * este.r * este.r;
}
// A continuación lo convertimos en un método de instancia asignando la función al objeto circular del constructor.
//Para ser compatible con Navigator3, debemos crear y descartar un objeto antes de que se genere el objeto prototipo
nuevocircel(0);
círculo.prototype.area=área;
//La siguiente es otra función que compara dos parámetros y devuelve el más grande
funcióncircel_max(a,b)
{
si(ar > br)
devolver un;
demás
volver b;
}
//Dado que esta función compara dos objetos, no tiene sentido tratarla como una operación en un único método de instancia de Circel.
//Pero no queremos convertirnos en una función independiente, así que le asignamos un constructor y la convertimos en un método de clase.
circel.max=circel_max;
//El siguiente código utiliza varios campos del círculo
var c=new circel(1.0); //Crea una instancia de la clase circel
cr=2.2; //Establece una variable r de la instancia
var a=c.area(); //Llamar al método de área de la instancia
var x=Math.exp(circel.PI); //Usamos la variable PI en nuestros propios cálculos.
var d=new circel(1.2); //Crea otra instancia de circel
var más grande=circel.max(c,d);//Usar método de clase circel.max
</script>
Archivo JScript.js
/**//* Archivo JScript Un número complejo es la suma de un número imaginario y un número imaginario El número imaginario i es la raíz cuadrada de -1.
*/
/**//*El primer paso para definir una clase es definir el constructor de la clase. El constructor calificado inicializa todas las funciones de instancia del objeto. Estos atributos son las "variables de estado" principales que habilitan cada instancia del objeto. clase para interactuar entre sí. No es lo mismo.
*/
función JScript(real,img)
{
this.x=real;//parte real
this.y=img;//Parte imaginaria
}
/**//*El segundo paso para definir una clase de función es definir su método de instancia (u otros atributos) en el objeto prototipo del constructor.
Cualquier propiedad definida por este objeto será heredada por todas las instancias de esta clase. Tenga en cuenta que los métodos de instancia operan implícitamente con la palabra clave this. Muchos métodos no requieren otros parámetros.
*/
//Devuelve el tamaño del número complejo, que se define como la distancia desde el origen (0,0) al plano complejo
JScript.prototype.magnitude=función()
{
return Math.sqrt(this.x * this.x + this.y * this.y);
};
//Devuelve el opuesto de un número complejo
JScript.prototipo.negativo=función()
{
devolver nuevo JScript(-this.x,-this.y);
};
// Convertir el objeto JScript en una cadena de forma eficiente. Esta será la función llamada cuando se utilice el objeto JScript como una cadena.
JScript.prototype.toString=función()
{
return "{"+ esto.x +","+ esto.y +"}";
};
//Devuelve la parte real de un número complejo. Esta función se llama cuando se procesa un objeto JScript como un valor primitivo.
JScript.prototype.valueOf=function() {return this.x;};
/**//*El tercer paso para definir una clase es definir los métodos de clase.
Las constantes y otras variables de clase son propiedades del propio constructor de funciones (en lugar de propiedades del objeto prototipo del constructor)
Tenga en cuenta que los métodos estáticos no utilizan la palabra clave this porque solo operan con parámetros
*/
//Calcula la suma de dos números complejos y devuelve el resultado
JScript.add()=función(a,b)
{
devolver nuevo JScript(ax + bx, ay + por);
};
//Resta un número complejo de otro número complejo y devuelve el resultado
JScript.subtract()=función(a,b)
{
devolver nuevo JScript(ax - bx, ay - por);
};
//Calcula el producto de dos números complejos y devuelve el resultado
JScript.multiplicar()=función(a,b)
{
devolver nuevo JScript(ax * bx - ay * por , ax * bx + xy * por);
};
/**//*Los siguientes son algunos plurales predefinidos útiles. Se definen como variables de clase para que puedan usarse como constantes (tenga en cuenta que en realidad no son de solo lectura).
*/
JScript.zero=nuevo JScript(0,0);
JScript.one=nuevo JScript(1.0);
JScript.i=nuevo JScript(0.1);