Volgens mij vroeg Catch22- gewoon hulp bij zijn code.quote:Op donderdag 20 maart 2014 14:52 schreef KomtTijd... het volgende:
Nou is pochen met hoe ingewikkeld je code eruit ziet natuurlijk ook wel behoorlijk "".
En doe vooral 1 ding tegelijk. Ik heb 'm nu in een paar dagen al over PHP, MySQL, HTML, CSS en Javascript gehoord, zonder dat-ie een van deze dingen echt heeft doorgrond.quote:Op donderdag 20 maart 2014 13:32 schreef KomtTijd... het volgende:
Wat je verkeerd doet, is dat je nog moeite hebt met uberhaupt een HTML-formulier in elkaar te zetten en uit te lezen, maar al gelijk wilt skippen naar asynchrone webapplicaties. Begin nou gewoon bij het begin.
LESS ofzo. In een FOK! [php]-tag bij gebrek aan syntax-highlighting in de [code]-tag.quote:Op donderdag 20 maart 2014 15:09 schreef picodealion het volgende:
Welk smaakje PHP is dat überhaupt?
Ziet ingewikkelder uit dan CSS zelf. Kan toch nooit de bedoeling zijn.quote:Op donderdag 20 maart 2014 15:29 schreef KomtTijd... het volgende:
[..]
LESS ofzo. In een FOK! [php]-tag bij gebrek aan syntax-highlighting in de [code]-tag.
Als je het eenmaal doorhebt scheelt het een hoop typwerk en is het juist makkelijker.quote:Op donderdag 20 maart 2014 15:45 schreef Robuustheid het volgende:
[..]
Ziet ingewikkelder uit dan CSS zelf. Kan toch nooit de bedoeling zijn.
Nee, ik bedoel alleen declaratie "var i;". Dat hoort bovenin. Vervolgens hoog je i natuurlijk op daar waar je wil dat dat gebeurt.quote:Op donderdag 20 maart 2014 11:16 schreef Robuustheid het volgende:
[..]
Dan wordt de i niet voortdurend opgehoogd als-ie niet in de while-loop zit, maar eenmalig verhoogd, lijkt mij?
quote:En je post daar een interessante link, dank daarvoor! Daaruit vloeit een andere vraag voor.
Waarop valideert-ie de true en foo op regel 3 als true?
1 2 3 4 5 6 7 | var x = 1; console.log(x); // 1 if (true) { var x = 2; console.log(x); // 2 } console.log(x); // 2 |
1 2 3 4 5 6 7 8 | var foo = 1; function bar() { if (!foo) { var foo = 10; } alert(foo); } bar(); |
1 2 3 4 5 6 7 8 9 | var foo = 1; function bar() { var foo; if (!foo) { foo = 10; } alert(foo); } bar(); |
1 2 3 4 5 6 7 8 9 10 11 12 13 | $(document).ready(function() { $('#search_name').keyup(function() { search_name = $(this).val(); $(' $names li').removeclass('highlight'); if (jQuery.trim(search_name) != ' ') { $(" #names li:contains(' " + search_name + " ')").addclass('highlight'); } }); }); |
1 | $(' $names li').removeclass('highlight'); |
1 2 | if (jQuery.trim(search_name) != ' ') { $(' $names li').removeclass('highlight'); } |
1 | (' " + search_name + " ') |
1 | (search_name) |
2) Oeps ik bedoelde geen != maar == , anders zou ik toch denken dat het anders een else bij moet komen met dus die code $(' $names li').removeclass('highlight');quote:Op donderdag 20 maart 2014 16:49 schreef KomtTijd... het volgende:
1) Huh, je begrijpt hopelijk wat een if-statement is?
2) search_name is een variable die in een string wordt geplaatst. Zonder "+search_name+" zou er letterlijk search_name in de string staan, in plaats van de waarde van variable search_name.
Plusjes zijn om strings aan elkaar te plakken in dit geval. De single quotation mark is om te zorgen dat je ipv $(varname) $('varname') krijgt.quote:Op donderdag 20 maart 2014 16:53 schreef RustCohle het volgende:
[..]
2) Oeps ik bedoelde geen != maar == , anders zou ik toch denken dat het anders een else bij moet komen met dus die code $(' $names li').removeclass('highlight');
3) Huh, beetje in de war met betrekking tot de hoeveelheid quotationmarks en de plusjes..
En waarom zou je in dit geval de strings aan elkaar moeten laten plakken? Ik dacht tot dusverre dat je juist $(varname) moest gebruiken ipv $("varname") of $('varname'), want die laatste twee gelden voor strings zover ik weet?quote:Op donderdag 20 maart 2014 16:55 schreef Scorpie het volgende:
[..]
Plusjes zijn om strings aan elkaar te plakken in dit geval. De single quotation mark is om te zorgen dat je ipv $(varname) $('varname') krijgt.
Ja, je wil ook $(varname). Daarom breek je de quotes af en plak je de variabele ertussen met plusjes.quote:Op donderdag 20 maart 2014 16:57 schreef RustCohle het volgende:
[..]
En waarom zou je in dit geval de strings aan elkaar moeten laten plakken? Ik dacht tot dusverre dat je juist $(varname) moest gebruiken ipv $("varname") of $('varname'), want die laatste twee gelden voor strings zover ik weet?
1 | 'hier staat een string ' + variabele + ' hier gaat de string verder' |
$(varname)quote:Op donderdag 20 maart 2014 16:57 schreef RustCohle het volgende:
[..]
En waarom zou je in dit geval de strings aan elkaar moeten laten plakken? Ik dacht tot dusverre dat je juist $(varname) moest gebruiken ipv $("varname") of $('varname'), want die laatste twee gelden voor strings zover ik weet?
Woops het is harstikke logisch wat je zegt, maar op dit moment volg ik het totaal niet. Wat is het nou in dit geval ?quote:Op donderdag 20 maart 2014 16:59 schreef Scorpie het volgende:
[..]
$(varname)
$('varname')
Bij de 1e zal JavaScript eerst proberen een variable te vinden met de naam varname waarna jQuery die variable als selector zal gebruiken om het element op te zoeken. Bij de tweede zal jQuery proberen een element te zoeken met de string 'varname' als selector.
Nee, dan heb je letterlijk de string "search_name". Wat je wil is de inhoud van de variabele search_name.quote:Op donderdag 20 maart 2014 17:02 schreef RustCohle het volgende:
[..]
Woops het is harstikke logisch wat je zegt, maar op dit moment volg ik het totaal niet. Wat is het nou in dit geval ?![]()
Want wat ik nu zie, is dat zowel de twee " als de ' wegkunnen zodat je gewoon (searchname) hebt.
1 | $("#names li:contains('dingen')") |
1 | $("#names li:contains('"+search_name+"') |
Je vertelt het duidelijker dan ik deed.quote:Op donderdag 20 maart 2014 17:03 schreef Tijn het volgende:
[..]
Nee, dan heb je letterlijk de string "search_name". Wat je wil is de inhoud van de variabele search_name.
De uiteindelijke selector die je in je eigen voorbeeld wilt krijgen is bijvoorbeeld:
[ code verwijderd ]
De string "dingen" zit in de variabele search_name. Dus om de inhoud van search_name neer te zetten waar nu "dingen" staat, breek je de string af (dubbele quote), plak je de variabele ertussen met plusjes en zet je weer een dubbele quote om verder te gaan met je string.
Dank uquote:Op donderdag 20 maart 2014 17:04 schreef Scorpie het volgende:
[..]
Je vertelt het duidelijker dan ik deed.
Zolang de if true is, wordt code dus altijd uitgevoerd. Begrijpelijk, ik ben dit niet gewend, ik veronderstelde dat de if-statement alleen voor vergelijkingen kunt gebruiken, zoals if (test = true) { .. }.quote:Op donderdag 20 maart 2014 15:56 schreef Tijn het volgende:
[ code verwijderd ]
Nou, eerst voorbeeld 1: true is natuurlijk true, dus dat is logisch, toch?
Dit volg ik niet helemaal.quote:[ code verwijderd ]
Voorbeeld 2 is waar het belangrijk wordt om te begrijpen hoe scoping en hoisting van variabelen werkt in Javascript.
Bovenin het script wordt een variabele "foo" gemaakt en daar wordt de waarde 1 aan gegeven. Vervolgens wordt de functie bar() gedefinieerd.
Je zou misschien zeggen dat de if-statement op 3 regel nu niet opgaat, omdat foo immers nog steeds 1 is. Maar dat is niet zo. Niet vanwege scoping (want binnen een functie heb je in Javascript toegang tot variabelen in de scope buiten de functie), maar wel vanwege "hoisting".
Omdat op regel 4 een lokale variabele "foo" wordt gemaakt (en van waarde 10 wordt voorzien), wordt de declaratie van deze variabele "gehoist" naar bovenin de functie. In feite gebeurt er dit:
[ code verwijderd ]
1 2 3 4 5 6 7 8 | var foo = 1; function bar() { if (!foo) { var foo = 10; } alert(foo); } bar(); |
Omdat-ie vanwege het hoisten eerst een (lege!) lokale variabele aanmaakt op het moment dat de functie bar() begint. Omdat deze variabele dezelfde naam heeft als de globale variabele foo die buiten de functie was gemaakt, is deze niet langer beschikbaar binnen de functie. Daarom is foo ongedefinieerd op het moment dat de if-statement wordt uitgevoerd.quote:Op donderdag 20 maart 2014 19:31 schreef Robuustheid het volgende:
[..]
Dit volg ik niet helemaal.
[ code verwijderd ]
als var foo = 1 is, waarom voert-ie de if (!foo) {...} alsnog uit? Want als 1 = true is, dan zou if (!foo) false moeten zijn, lijkt mij. Dan zou de variabele foo op regel 4 niet gedeclareerd worden, en dus niet 'gehoist' naar bovenin de functie?
Post even de relevante HTML structuur, en horizontaal opgerekt?quote:Op donderdag 20 maart 2014 22:29 schreef TwyLight het volgende:
[ afbeelding ]
Bovenstaande is een tabel
Hoe zorg ik er met css voor dat in niet de grijze rij (het gedeelte met de titel en tags) maar de witte rij (met link naar de download en stats) opgerekt wordt?
M.a.w. ik wil dat de grijze rij niet groter wordt dan hij moet zijn voor de content die er in staat
Hahaha, ik snap geen fuck van wat je bedoelt!quote:Op donderdag 20 maart 2014 22:29 schreef TwyLight het volgende:
[ afbeelding ]
Bovenstaande is een tabel
Hoe zorg ik er met css voor dat in niet de grijze rij (het gedeelte met de titel en tags) maar de witte rij (met link naar de download en stats) opgerekt wordt?
M.a.w. ik wil dat de grijze rij niet groter wordt dan hij moet zijn voor de content die er in staat
Ja, grappig, kan er weinig aan veranderen aangezien het niet mijn website is.quote:Op donderdag 20 maart 2014 22:33 schreef PimD het volgende:
Door geen tabel voor layout te gebruiken.
Best i can do (als ik de echte source bekijk wordt alles gegenereerd met javascript)quote:Op donderdag 20 maart 2014 22:34 schreef esv7 het volgende:
[..]
Post even de relevante HTML structuur, en horizontaal opgerekt?
In het screenshot zie je een witte TR met "x264 / MKV / Blu-ray / 720p / Scene" ik wil dat die rij naar boven toe uitgerekt wordt in plaats van de grijze die er boven staat naar beneden toequote:Op donderdag 20 maart 2014 22:37 schreef Crutch het volgende:
[..]
Hahaha, ik snap geen fuck van wat je bedoelt!
Ironisch he? Want je probeert het uit te leggen.
1 2 3 4 | tr.group_torrent { height: 100%; vertical-align: top; } |
Daar ben ik het mee eens. Een strictere standaard zou niet zo slecht zijn.quote:Op zondag 23 maart 2014 21:39 schreef Catch22- het volgende:
Dat is het ook. Maar omdat er zo weinig regels zijn/vrijheid is, moet je wel weten wat je doet. En dat maakt het lastig te begrijpen
In hoeverre kun je kennis over ECMAScript inzetten bij het gebruiken van javascript?quote:Op zondag 23 maart 2014 21:07 schreef robin007bond het volgende:
Die filmpjes van Crockford
Dankzij hem en hoe hij de geschiedenis van de programmeertalen vertelt in zijn filmpjes ben ik pas gaan beseffen hoe krachtig ECMAScript is.
Bijna 1:1quote:Op maandag 24 maart 2014 08:46 schreef Sitethief het volgende:
[..]
In hoeverre kun je kennis over ECMAScript inzetten bij het gebruiken van javascript.
1 2 3 | function test(){ console.log("Testttt") } |
1 2 3 | var test = function test () { console.log('Testttt'); } |
Er is geen praktisch verschil tussen ECMAScript en Javascript. Javascript is de naam voor de implementatie van ECMAScript in de browser.quote:Op maandag 24 maart 2014 08:46 schreef Sitethief het volgende:
[..]
In hoeverre kun je kennis over ECMAScript inzetten bij het gebruiken van javascript?
quote:Op dinsdag 25 maart 2014 11:14 schreef Catch22- het volgende:
test() roept de functie aan, test logged de definitie van de variabele test, wat dus die functie is.
Waar die undefined vandaan komt is mij ook een raadsel.
Er is geen variabele 'test' gedefinieerd in m'n code. Ik snap dat hij de functie als definitie ziet. Maar waarom? Er is nl. geen variabele met naam 'test' gedefinieerd.quote:Op dinsdag 25 maart 2014 11:15 schreef esv7 het volgende:
Undefined is de return value van de functie, als je niks returned is die undefined.
En dat die functie weergeeft is misschien duidelijk als je het ziet als:
[ code verwijderd ]
1 | var test = function() { ... } |
1 | function test() { ... } |
1 2 3 4 5 6 7 8 9 | var test = 5; function test() { return 6; } console.log(test); // 5 console.log(test()); // typeError: 5 is not a function |
1 2 3 4 5 | var test; test = function() { return 6; } test = 5; |
dat laatste is wel erg belangrijk. Je moet aan de naam van een variabele gelijk zien wat het is, boolean, string, functie etc.quote:Op dinsdag 25 maart 2014 13:55 schreef Tijn het volgende:
Ook hier komt het hoisten in Javascript weer om de hoek kijken. Omdat functiedefinities boven assignments worden geplaatst, werkt dit zo:
[ code verwijderd ]
Wat er in feite gebeurt is dit:
[ code verwijderd ]
Daarom is het good practice om in je code dezelfde volgorde aan te houden:
1) declareer eerst je variabelen, maar assign nog geen values
2) definieer je functies
3) assign values aan je variabelen
En gebruik niet dezelfde namen voor variabelen en functies, want dat werkt dus niet
quote:Op dinsdag 25 maart 2014 20:42 schreef maikel112 het volgende:
Hoi mensen, ik zit al een tijd te stoeien met mijn stylesheet. Ik wil dat mijn links in een lijst (Ul,LI) een andere kleur hebben dan links in de lopende tekst. Het lukt mij maar niet om de juiste code te vinden. Ik heb ook al geprobeerd om op de url zelf de <span style="color:#202020"></span> toe te passen, dit werkt wel maar het streepje onder de tekst blijft de linkkleur behouden... Iemand een oplossing?
1 2 3 4 5 6 7 8 9 10 11 12 | ul li a { color: #F00; text-decoration: none; } ul li a:hover { color: #0F0; } ul li a:active { color: #00F; } |
1 2 3 | a { color: #FFF; } |
Bedankt!quote:
1 2 3 | ul li a:link {color:#202020;text-decoration:underlined;} ul li a:visited {color:#202020;} ul li a:hover {color:#202020;} |
Ja het was een voorbeeldje voor hoe je het kan aanpakken, mooi dat je het werkend hebt gekregen.quote:Op dinsdag 25 maart 2014 21:13 schreef maikel112 het volgende:
[..]
Bedankt!
Ik heb je code iets aan moeten passen, maar nu werkt hij!
Met deze code heb ik het werkend gekregen:
[ code verwijderd ]
1 2 3 4 5 6 | "cirkels": [ {"name": "Aap", "size": 398}, {"name": "Noot", "size": 312}, {"name": "Mies", "size": 714}, {"name": "Boom", "size": 43} ] |
En nu te emuleren met TypeScriptquote:Op donderdag 27 maart 2014 08:52 schreef robin007bond het volgende:
ECMAScript 6.![]()
Goed OOP, let variabelen, modules.
1 2 3 4 5 6 7 8 9 | switch (x) { case 0: let foo; break; case 1: let foo; // TypeError for redeclaration. break; } |
Tsja. Dat is inderdaad zo. Ik wist niet dat let-variabelen daar zo nauw naar zouden luisteren.quote:
Ziet er goed uit, maar helaas geen interactie.quote:Op vrijdag 28 maart 2014 21:45 schreef TwenteFC het volgende:
Gewoon even een ordinaire linkdump omdat ik vandaag erg blij was toen ik dit tegenkwam.
http://www.chartjs.org/docs/
Kost je voor commercieel gebruik wel geld helaas.quote:Op vrijdag 28 maart 2014 21:48 schreef Catch22- het volgende:
Ik heb onlangs een project met highcharts gedaan, ook een lekkere library
Was een project voor een multinational met een miljardenomzet, dus dan is die 3k niet zon probleemquote:Op vrijdag 28 maart 2014 22:06 schreef robin007bond het volgende:
[..]
Kost je voor commercieel gebruik wel geld helaas.Ach, het bedrijf waar je werkt zal die kleine licentie wel kunnen bekostigen. Zo duur is het niet.
Tof. Lijkt me best spannend, zo'n verantwoordelijkheid.quote:Op vrijdag 28 maart 2014 22:08 schreef Catch22- het volgende:
[..]
Was een project voor een multinational met een miljardenomzet, dus dan is die 3k niet zon probleem
Is t ook. Maar ik doe alleen dingen waarvan ik weet dat ik t kanquote:Op vrijdag 28 maart 2014 22:42 schreef robin007bond het volgende:
[..]
Tof. Lijkt me best spannend, zo'n verantwoordelijkheid.
1 2 3 4 | add: function(itemCost){ this.total += (itemCost || 0); this.lastTransactionAmount = itemCost; } |
1 | this.total += itemCost; |
"|| value" is in Javascript een standaardsyntax voor het opgeven van een alternatieve waarde als een variabele niet beschikbaar is. Door || 0 hier te schrijven zijn er voor een ervaren Javascript-programmeur onmiddellijk 2 dingen duidelijk aan deze functie:quote:Op zaterdag 29 maart 2014 19:14 schreef robin007bond het volgende:
Zat eens te kijken op CodeCademy en zag wat vreemds in de code.
[ code verwijderd ]
Vanwaar bij regelnummer 2 de || operator? Volgens mij willen ze de itemCost optellen bij total als die waarde er is, en anders er 0 bij optellen. Maar waarom? Als de parameter zou slaan op false dan wordt er sowieso 0 bij opgeteld toch?
En je kunt functies die parameters vereisen niet aanroepen zonder een parameter aan te geven toch? Dus die (itemCost ||"0) lijkt me erg overbodig. Kan dat niet gewoon:
[ code verwijderd ]
zijn?
Het gaat om deze opdracht:
http://www.codecademy.com(...)24b3a7dffd00020bf661
Wel goed dat ze je de object literal notation leren.
Dat kan dus welquote:En je kunt functies die parameters vereisen niet aanroepen zonder een parameter aan te geven toch?
Heel erg bedankt Tijn. Held!quote:Op zaterdag 29 maart 2014 23:20 schreef Tijn het volgende:
[..]
"|| value" is in Javascript een standaardsyntax voor het opgeven van een alternatieve waarde als een variabele niet beschikbaar is. Door || 0 hier te schrijven zijn er voor een ervaren Javascript-programmeur onmiddellijk 2 dingen duidelijk aan deze functie:
1) itemCost is een optioneel argument
2) de standaardwaarde van itemCost is 0
De reden dat je dit toch zou schrijven in plaats van het weg te laten (omdat het inderdaad in dit geval niet veel doet) is het verduidelijken van de code en het makkelijker te maken toekomstige aanpassingen te verwerken. Je helpt als het ware je toekomstige collega door je code op deze manier op te schrijven.
[..]
Dat kan dus welJavascript flexibility powerrrr
1 2 | function blabla(getal = 0) { } |
Haha flexibility power.quote:Op zaterdag 29 maart 2014 23:20 schreef Tijn het volgende:
[..]
"|| value" is in Javascript een standaardsyntax voor het opgeven van een alternatieve waarde als een variabele niet beschikbaar is. Door || 0 hier te schrijven zijn er voor een ervaren Javascript-programmeur onmiddellijk 2 dingen duidelijk aan deze functie:
1) itemCost is een optioneel argument
2) de standaardwaarde van itemCost is 0
De reden dat je dit toch zou schrijven in plaats van het weg te laten (omdat het inderdaad in dit geval niet veel doet) is het verduidelijken van de code en het makkelijker te maken toekomstige aanpassingen te verwerken. Je helpt als het ware je toekomstige collega door je code op deze manier op te schrijven.
[..]
Dat kan dus welJavascript flexibility powerrrr
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |