Kezdőoldal » Számítástechnika » Programozás » Az 1. v a 2. kód a hatékonyabb...

Az 1. v a 2. kód a hatékonyabb és/vagy gyorsabb és miért?

Figyelt kérdés

1.


<!DOCTYPE html>

<html>

<body>


<p>Click the button to display a random number between 1 and 100.</p>


<button onclick="myFunction()">Try it</button>


<p id="demo"></p>


<script>

function myFunction() {

var x = document.getElementById("demo")

x.innerHTML = Math.floor((Math.random() * 100) + 1);

}

</script>


</body>

</html>



2.


<!DOCTYPE html>

<html>

<body>


<p>Click the button to display a random number between 1 and 10.</p>


<button onclick="myFunction()">Try it</button>


<p id="demo"></p>


<script>

function myFunction() {

var x = Math.floor((Math.random() * 100) + 1);

document.getElementById("demo").innerHTML = x;

}

</script>


</body>

</html>


2016. máj. 18. 08:55
 1/10 anonim ***** válasza:
100%
Szerintem egyforma, ugyanazokat az objektumokat hozod létre, ugyanazokat a függvényeit hívod, ugyanannyi értékadás van benne.
2016. máj. 18. 08:57
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:
100%

Nincs értelme hatékonyságról beszélni.

Egyébként mind a két kód rossz, mert az x borzasztó semmitmondó változónév, de akkor már a második esetben kevésbé rosszabb, ahol csak egy véletlen számot tárolsz benne és nem egy html elemet.

2016. máj. 18. 09:14
Hasznos számodra ez a válasz?
 3/10 anonim ***** válasza:

Hatékonyság szempontból ekvivalensek. Mindkettőben ugyanaz van, csak más sorrendben: 2 értékadás, 1 random, 1 getElementById. Fölösleges összehasonlítani.


A gyorsaságát le tudod mérni JS-ben. Kérd le a rendszeridőt mikroszekundum pontossággal a függvény elején és végén, majd írasd ki a különbséget.


[link]

2016. máj. 18. 09:27
Hasznos számodra ez a válasz?
 4/10 A kérdező kommentje:
Köszi srácok, főleg utolsónak. Ment a pont.
2016. máj. 18. 09:37
 5/10 SimkoL ***** válasza:

Nem lenne elég így:

document.getElementById("demo").innerHTML = Math.floor((Math.random() * 100) + 1);

2016. máj. 18. 10:34
Hasznos számodra ez a válasz?
 6/10 A kérdező kommentje:
De igen, köszi
2016. máj. 18. 11:09
 7/10 anonim ***** válasza:
100%

1. A document.getElementById("demo")-t akkor érdemes külön változóban tárolni, ha azt többször is felhasználod.


2. Érdemes a Javascript "diszkrét" használatának elsajátítása.


Tehát e helyett:

<button onclick="myFunction()">Try it</button>

inkább adni a gombnak egy azonosítót:

<button id="getRandom">Try it</button>


majd a szkriptben lehet hivatkozni a gombra - például így:

document.getElementById('getRandom').addEventListener('click', myFunction);


Itt egy példa:

[link]


3. Marginális megjegyzés: ámbátor a topiknyitó kérdésben szereplő kód láthatólag egy példa, de azért <head> és azon belül a <title> elemeket ne felejtsük el. ;)

2016. máj. 18. 18:54
Hasznos számodra ez a válasz?
 8/10 A kérdező kommentje:

Nagyon informatív válasz volt köszi. Egyébiránt...igen csak példaként voltak kitéve a w3schools-on láttam ezt a két kódot, így kíváncsi voltam melyik lehet hatékonyabb, mint mondanak rá a tapasztaltak.

A head és title elhagyását, ha jól rémlik a szintén a w3schools írta, hogy elhagyható a head nemhogy a title szóval érdekelne miért mondtad.

2016. máj. 18. 19:14
 9/10 anonim ***** válasza:
100%

Mert ha megadsz egy szimpla, <head> és <title> nélküli oldalt a W3C validátorának

https://validator.w3.org/

az alábbi hibaüzenettel fogad:

"Error: Element head is missing a required instance of child element title.


From line 2, column 7; to line 3, column 6


ml>↩<html>↩<body>↩↩<h1>


Content model for element head:

If the document is an iframe srcdoc document or if title information is available from a higher-level protocol: Zero or more elements of metadata content, of which no more than one is a title element and no more than one is a base element.

Otherwise: One or more elements of metadata content, of which exactly one is a title element and no more than one is a base element. "


A <title> tag leírásánál szerepel is:

"The <title> tag is required in all HTML documents and it defines the title of the document.

...

Tip: If you omit the <title> tag, the document will not validate as HTML."

http://www.w3schools.com/tags/tag_title.asp


Bizonyos esetekben - például HTML-alapú emaileknél, <iframe> tagbe illesztett tartalomnál (ahol a szülődokumentum tartalmaz már ilyesmit) - elhagyható:

"The title element is a required child in most situations, but when a higher-level protocol provides title information, e.g. in the Subject line of an e-mail when HTML is used as an e-mail authoring format, the title element can be omitted."

https://www.w3.org/TR/html5/document-metadata.html#the-head-element

2016. máj. 18. 20:36
Hasznos számodra ez a válasz?
 10/10 A kérdező kommentje:
Rendben, köszönöm.
2016. máj. 18. 22:27

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!