JavaScriptで下のhtmlにおいて、クラスの全てのオブジェクトにa1()とa2()とa3()の3つの関数を実行させたいです。
同じ対象なのに「A.a1()」を3種類づつ何度も大量に入力しなければならないのでしょうか?
何か良い方法があれば教えてください。
JavaScript
1<!DOCTYPE html> 2<HTML> 3<body style="font-size:32px;"> 4<script> 5 6 7class Cl { 8 constructor(a,b,c) 9{ 10 this.a = a; 11 this.b = b; 12 this.c = c; 13} 14a1() 15{ 16 if(this.a==0) 17 { 18 if(this.b==1) 19 { 20 this.a++; 21 } 22 else if(this.b==2) 23 { 24 this.a=this.a+2; 25 } 26 } 27} 28a2() 29{ 30 if(this.a==0) 31 { 32 if(this.c==3) 33 { 34 this.a=this.a+3; 35 } 36 else if(this.c==4) 37 { 38 this.a=this.a+5; 39 } 40 } 41} 42a3() 43{ 44 if(this.a==0) 45 { 46 if(this.a==4) 47 { 48 this.a=this.a--; 49 } 50 else if(this.a==1) 51 { 52 this.a=this.a++; 53 } 54 } 55} 56 57} 58let A=new Cl(0,1,3); 59let B=new Cl(0,2,3); 60let C=new Cl(0,1,1); 61let D=new Cl(0,2,2); 62let E=new Cl(0,1,4); 63let F=new Cl(0,2,3); 64let G=new Cl(0,1,2); 65let H=new Cl(0,1,3); 66let I=new Cl(0,2,3); 67let J=new Cl(0,2,1); 68let K=new Cl(0,3,3); 69let L=new Cl(0,1,1); 70let N=new Cl(0,1,3); 71let M=new Cl(0,1,4); 72let O=new Cl(0,1,1); 73let P=new Cl(0,2,2); 74let Q=new Cl(0,2,2); 75let R=new Cl(0,1,3); 76let S=new Cl(0,1,1); 77let T=new Cl(0,2,2); 78let U=new Cl(0,1,1); 79let V=new Cl(0,1,1); 80let W=new Cl(0,4,4); 81let X=new Cl(0,2,2); 82let Y=new Cl(0,2,3); 83let Z=new Cl(0,1,1); 84 85A.a1() 86A.a2() 87A.a3() 88console.log(A); 89</script> 90</body> 91</HTML>
試した事は、functionで生成した関数に「オブジェクトの名前.代入部分()」を入れて
「関数の名前(a1)」「関数の名前(a2)」「関数の名前(a3)」で実行しましたが上手くいきませんでした。
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。