am_dot_com

SW 2023-05-05

May 5th, 2023 (edited)
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.38 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Arrays (5)</title>
  6. </head>
  7. <body>
  8. <script>
  9. var a1 = new Array()
  10. var a2 = []
  11. //push, pop, shift, unshift, []
  12.  
  13. //var a3 = [10, 3, 40]
  14. var a3 = [40, 3, 10]
  15. document.write(a3) // 10,3,40
  16.  
  17. document.write("<br>")
  18. a3.sort() //faz ordenação alfabética
  19. document.write(a3) // 10,3,40
  20.  
  21. function comoCompararNumericamente(o1, o2){
  22. var e1=Number(o1)
  23. var e2=Number(o2)
  24. if(e1>e2) return 1;
  25. if(e2>e1) return -1;
  26. return 0;
  27. }//comoCompararNumericamente
  28.  
  29. document.write("<hr>")
  30.  
  31. var a4 = [50, 5, 40, 4, 30, 3, 20, 2, 10, 1]
  32. document.write("ANTES de sort ALFAB: "+a4+"<br>")
  33. a4.sort()
  34. document.write("DEPOIS de sort ALFAB: "+a4+"<br>")
  35.  
  36. document.write("<hr>")
  37.  
  38. a4 = [50, 5, 40, 4, 30, 3, 20, 2, 10, 1]
  39. document.write("ANTES de sort NUM: "+a4+"<br>")
  40. a4.sort(comoCompararNumericamente)
  41. document.write("DEPOIS de sort NUM: "+a4+"<br>")
  42.  
  43. function Gato(pNome, pKG){
  44. this.mNome=pNome;
  45. this.mKG=pKG;
  46. }//Gato
  47.  
  48. Gato.prototype.miar=function(){
  49. var f=`${this.mNome} diz: tenho ${this.mKG} KG<br>`
  50. return f
  51. }//miar
  52.  
  53. Gato.prototype.toString = Gato.prototype.miar
  54.  
  55. var garfield = new Gato("Garfield", 8)
  56. var rafeiro = new Gato("Rafeiro", 40)
  57. document.write(garfield)
  58. document.write(rafeiro)
  59.  
  60. function comoCompararGatosPorKG(a,b){
  61. if(a.mKG>b.mKG) return 1;
  62. if(b.mKG>a.mKG) return -1;
  63. return 0
  64. }
  65.  
  66. var colDeGatos = [garfield, rafeiro]
  67. colDeGatos.sort(comoCompararGatosPorKG)
  68. document.write(colDeGatos)
  69.  
  70.  
  71. </script>
  72. </body>
  73. </html>
  74.  
  75. *****************
  76.  
  77. <!-- 3.html -->
  78. <!DOCTYPE html>
  79. <html lang="en">
  80. <head>
  81. <meta charset="UTF-8">
  82. <title>Arrays em JS (3)</title>
  83. </head>
  84. <body>
  85. <script>
  86. var a1 = []
  87. var a2 = new Array()
  88.  
  89. // STACK / Pilha / entrada + saída são à cauda/topo
  90. a1.push(33)
  91. a1.push(66)
  92. a1.pop()
  93. document.write(a1) // 33
  94. document.write("<br>")
  95.  
  96. // QUEUE / Fila
  97. a1.push(9999)
  98. document.write(a1) // 33, 9999
  99. document.write("<br>")
  100. a1.shift()
  101. document.write(a1) // 9999@0
  102. document.write("<br>")
  103.  
  104. // introduzir à cabeça, no início
  105. a1.unshift(1234)
  106. document.write(a1) // 1234@0, 9999@1
  107. document.write("<br>")
  108.  
  109. a1[10]=4321 //tornou-se um array de 11 elementos, sem valores para os elementos nos indexes [2 a 9]
  110. document.write(a1) // 1234@0, 9999@1
  111. document.write("<br>")
  112.  
  113.  
  114. function xpto(){
  115. return "hello";
  116. }
  117.  
  118. var v1 = new xpto();
  119.  
  120. function MinhaData(
  121. pAno,
  122. pMes,
  123. pDia
  124. ){
  125. this.mAno = pAno;
  126. this.mMes = pMes;
  127. this.mDia = pDia
  128. }//MinhaData
  129.  
  130. var data1 = new MinhaData(
  131. 2023,
  132. 5, // mês
  133. 5 // dia
  134. )
  135.  
  136. // extend do tipo de dados MinhaData
  137. // para que o JS saiba escrever, conforme eu desejar, objetos do meu UDT}
  138. MinhaData.prototype.comoApresentar = function(){
  139. //como apresentar instâncias do tipo MinhaData
  140. var fraseQueRepresentaAData =
  141. this.mAno+"-"+this.mMes+"-"+this.mDia;
  142.  
  143. return fraseQueRepresentaAData
  144. }//comoApresentar
  145.  
  146. class MinhaData2{
  147. constructor(pAno, pMes, pDia) {
  148. this.mAno = pAno;
  149. this.mMes = pMes;
  150. this.mDia = pDia;
  151. }
  152.  
  153. static comoEstaTempo(){
  154. return "Está sol.";
  155. }//comoEstaTempo
  156.  
  157. // método dinâmico - tem acesso à palavra this
  158. comoApresentar(){
  159. //como apresentar instâncias do tipo MinhaData
  160. var fraseQueRepresentaAData =
  161. this.mAno+"-"+this.mMes+"-"+this.mDia;
  162.  
  163. return fraseQueRepresentaAData
  164. }//como apresentar
  165. }//MinhaData2
  166.  
  167. var d3 = new MinhaData2(2023, 12, 25);
  168. document.write(MinhaData2.comoEstaTempo())
  169.  
  170. var data2 = new MinhaData(1969, 6, 21)
  171. document.write(data1) // [object Object]
  172. document.write("<br>")
  173. document.write(data1.comoApresentar()) // [object Object]
  174. document.write("<br>")
  175. MinhaData.prototype.toString = MinhaData.prototype.comoApresentar;
  176. document.write("<mark>toString foi redefinido</mark><br>")
  177. document.write(data1) // [object Object]
  178. document.write("<br>")
  179.  
  180.  
  181. // as duas instruções seguintes são equivalentes
  182. // em JS existe um "default method"
  183. // esse default method é toString
  184. // toString deve retornar uma representação do
  185. // objeto, enquanto frase
  186. //document.write(xpto)
  187. //document.write(xpto.toString())
  188.  
  189.  
  190. var data2 = new Date(2023, 5-1, 5)
  191. document.write(data2) // algo compreensível
  192. document.write("<br>")
  193. </script>
  194. </body>
  195. </html>
Advertisement
Add Comment
Please, Sign In to add comment