Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[javascript] if then else truc

Pagina: 1
Acties:
  • 803 views sinds 30-01-2008
  • Reageer

  • Oysterhoys
  • Registratie: Juni 2003
  • Laatst online: 15-12-2024
Ik kan een truc niet meer vinden om kort een if statement te coderen in javascript

ipv
code:
1
 if (var){ do_this()}

doe je
code:
1
var?do_this(): <en hier komt de truc>


de truc is een javascript commando of zo dat niks doet !
? : is eigenlijk een if then else 'shorthand' , maar je moet wel iets achter de ':' zetten
als je hem allen als if statement wil gebruiken.

Ik ben het vergeten, iets in de trant van void(), of return false

Wie weet ?

A friend is one who knows us, but loves us anyway.


  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

null?
JavaScript:
1
var blaat = (iets == true) ? "hoi" : null;

Niet echt netjes trouwens, als je geen else wilt moet je geen shorthand if() gebruiken.

[ Voor 39% gewijzigd door AtleX op 17-01-2008 17:04 ]

Sole survivor of the Chicxulub asteroid impact.


  • BlackWhizz
  • Registratie: September 2004
  • Laatst online: 08-12-2024

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Waarom zou je iets toevoegen zoals return false als je het met een gewone if statement veel duidelijker maakt :?

Ik mis ook een klein beetje wat je zelf hebt geprobeerd en waarom je zoektocht op het internet niet veel heeft opgeleverd.

Ik zou gewoon voor de eerste optie gaan ipv een shorthand te gebruiken en vervolgens weer onzin toevoegt om het werkend te krijgen ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

edit:
Met btm00000009

[ Voor 76% gewijzigd door SchizoDuckie op 17-01-2008 16:51 ]

Stop uploading passwords to Github!


  • Oysterhoys
  • Registratie: Juni 2003
  • Laatst online: 15-12-2024
volgens mij was het iets anders ?!

A friend is one who knows us, but loves us anyway.


  • disjfa
  • Registratie: April 2001
  • Laatst online: 04-11 11:05

disjfa

be

Wat is de bedoeling van je script?

disjfa - disj·fa (meneer)
disjfa.nl


  • Copyman
  • Registratie: Januari 2001
  • Laatst online: 20-11 20:27

Copyman

Dode muis

Niets in je else doen is een rare keuze, net als BtM909 ook al vermeldt. Waarom niet gewoon zo:
JavaScript:
1
if(var) doSomething();

Zeer belangrijke informatie: Inventaris


Verwijderd

Waarom precies shorthand gebruiken? Maakt je code alleen maar onoverzichtelijker...

  • disjfa
  • Registratie: April 2001
  • Laatst online: 04-11 11:05

disjfa

be

Copyman schreef op donderdag 17 januari 2008 @ 17:00:
Niets in je else doen is een rare keuze, net als BtM909 ook al vermeldt. Waarom niet gewoon zo:
JavaScript:
1
if(var) doSomething();
Eerst ben je het oneens met BtM, en vervolgens post je zijn manier nogmaals :?

disjfa - disj·fa (meneer)
disjfa.nl


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
disjfa, hij is het gewoon eens met BtM? 8)7

Als je geen else nodig hebt, of als het niet midden in een statement hoeft is een if gewoon duidelijker. Als je wat meer over die constructie wil zoeken is het ook wel handig om de naam van het beestje te noemen: ternary operator.

{signature}


  • Oysterhoys
  • Registratie: Juni 2003
  • Laatst online: 15-12-2024
Ik had er wel degelijk naar gezocht, maar niemand die het hier ook blijkbaar weet.
Het staat me bij dat het veel efficienter (qua cpu gebruik) is dan een gewone if.

A friend is one who knows us, but loves us anyway.


  • Oysterhoys
  • Registratie: Juni 2003
  • Laatst online: 15-12-2024
Net als een case efficenter is dan veel if then elses, en globale variabelen 'zwaar' zijn.
Ik had toevallig een script met heel veel if ' s, vandaar.

A friend is one who knows us, but loves us anyway.


  • Aham brahmasmi
  • Registratie: Juni 2002
  • Laatst online: 27-08-2021
Daar heb je veel aan "het staat me bij". :) Leesbaarheid van code is m.i. toch belangrijker dan dat halve procentje extra winst. Allen bij stukken code die talloze keren opnieuw uitgevoerd worden kan dergelijke optimalisatie aan gaan tikken.

De ? wordt de ternary operator genoemd trouwens.

  • f.v.b
  • Registratie: Januari 2008
  • Laatst online: 17-11 09:06
Ik vermoed dat het omschrijven van de if condities heel erg weinig performance winst op zal leveren. 5% zal het nooit zijn dus dat is de moeite van het optimaliseren niet waard. Jij bent langer met optimaliseren bezig dan je in een jaar terugverdiend aan performance winst. :)

Gooi de pagina eens door de profiler van Firebug (Console -> Profile) heen. Dan kan je zien waar de meeste rekentijd in gaat zitten.

Don't erase all files?
       [Yes]   [No]


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Oysterhoys schreef op donderdag 17 januari 2008 @ 18:12:
Ik had er wel degelijk naar gezocht, maar niemand die het hier ook blijkbaar weet.
Of je accepteert dat niemand het een boeiende optimalisatie vindt, als het uberhaupt al beter is. ;)

Dat neemt niet weg dat andere constructies wel een voordeel kunnen bieden. Merk trouwens op de een switch statement de leesbaarheid verhoogt tov meerdere if statements op dezelfde variabele. Dingen lelijk opschrijven moet je alleen doen als je weet wat je doet en als de winst substantieel (en nodig?) is.

{signature}


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-11 09:49

Bosmonster

*zucht*

Oysterhoys schreef op donderdag 17 januari 2008 @ 18:20:
Net als een case efficenter is dan veel if then elses, en globale variabelen 'zwaar' zijn.
Ik had toevallig een script met heel veel if ' s, vandaar.
Ik kan me bijna niet voorstellen dat het wat uitmaakt. Het blijft een check en conclusie, zowel bij een normale if als een shorthand if.

Voordeel zelfs aan een normale if is dat er geen else is waar rekening mee gehouden hoeft te worden. Als ik moest gokken welke dan al het meest efficient was, dan zou ik gaan voor de normale if :P

  • MrDummy
  • Registratie: April 2000
  • Laatst online: 25-07 12:00

MrDummy

Nog steeds gek op anime...

Shorthand is alleen om hoop typewerk te schelen, en maakt geheel compacter en korter in filesize.

Tegenwoordig in tijden van gigabytes smijten over internet is filesize amper een probleem. Meer nuttiger is een goedlopende script (juiste routines en controles) zodat serverload laag blijft.

Ik werk nog niet veel met shorthand, en daar komt inderdaad 1 belangrijke reden bij kijken: leesbaarheid en makkelijker debuggen op fouten. Verder kan ik makkelijker nesten en tabben.

Als er veel shorthand in zit, moet ik wat langer kijken en nadenken. Bij bouwen met veel shorthand is kans op scriptfouten eigenlijk ook wat groter omdat je meer moet opletten wat je tikt, vooral in IF controles. Ik vind zelf makkelijker om gewoon tussen { } te plaatsen, zeker als er veel code in zit.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-11 09:49

Bosmonster

*zucht*

Voor stringsamenstelling is de shorthand wel handig en dat is ook de voornaamste reden dat ik het gebruik.

code:
1
var x = 'abc' + (a?'d':'e') + 'fgh';


Dit scheelt een paar regels met stringverlenging en maakt het daardoor sneller en imho overzichtelijker.

[ Voor 29% gewijzigd door Bosmonster op 18-01-2008 10:03 ]

Pagina: 1