Nou als je zegtquote:Op dinsdag 18 maart 2014 16:46 schreef Tijn het volgende:
Ik snap niet wat je bedoelt. In alle bovenstaande gevallen is het resultaat precies hetzelfde: de variabele "person" bevat een leeg object.
Nee, het enige dat er gebeurt is dat er een variabele "person" wordt gemaakt en dat daar een leeg object in wordt gestopt. Verder niks. Het is een object zonder enige inhoud.quote:Op dinsdag 18 maart 2014 16:49 schreef Sucuk het volgende:
[..]
Nou als je zegt
var person= new object()
Wat zegt dat precies? Ik denk dat het het volgende command geeft:
De variabele ''person'' krijgt een nieuw object (subvariabelen) en dat zijn de volgende (bijv.);
person.name
person.age
etc.
Nee, het is een leeg object. Probeer het maar in je console:quote:Want alleen var person = new object() = undefined toch?
1 2 3 4 5 6 7 | var person; console.log(person); // undefined person = new Object(); console.log(person); // Object |
Op het moment dat je 'person = "aardig"' schrijft, overschrijf je de inhoud van de variabele person en bevat deze de string "aardig". Person is nu geen object meer en het zetten van de property "age" doet dan ook niet zoveel.quote:En kun je onder het object ook alleen person toewijzen?
Dus bijv
new person= new object()
person = ''aardig''
person.age = 18
Klopt niet helemaal. Persoon is dan een object van de klasse string, en heeft dan propertys die bij een String horen, zoals substring, split etc.quote:Op dinsdag 18 maart 2014 16:57 schreef Tijn het volgende:
[..]
Op het moment dat je 'person = "aardig"' schrijft, overschrijf je de inhoud van de variabele person en bevat deze de string "aardig". Person is nu geen object meer en het zetten van de property "age" doet dan ook niet zoveel.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <!DOCTYPE html> <html> <body> <p>Click the button to check the age.</p> Age:<input id="age" value="18" /> <p>Old enough to vote?</p> <button onclick="myFunction()">Try it</button> <p id="demo"></p> <script> function myFunction() { var age,voteable; age=document.getElementById("age").value; voteable=(age<18)"Too young":"Old enough"; document.getElementById("demo").innerHTML=voteable; } </script> </body> </html> |
Geen idee, het is ook niet echt uitgelegd..quote:Op dinsdag 18 maart 2014 17:46 schreef Drxx het volgende:
Is dat vraagteken niet gewoon een ternary operator? Dus een vorm van if-else. Vandaar ook de twee aparte strings lijkt me.
Duidelijke uitlegquote:Op dinsdag 18 maart 2014 17:48 schreef Sucuk het volgende:
[..]
Geen idee, het is ook niet echt uitgelegd..
In het eerste geval wil je de waarde van de input-box hebben. Dus value.quote:Op dinsdag 18 maart 2014 17:35 schreef Sucuk het volgende:
variablename=(condition)?value1:value2
bijv..
voteable=(age<18)?"Too young":"Old enough";
Waarom hoort die vraagteken erbij?
en... waarom hoort staat er bij het volgende .value inplaats van .innerhtml? Wat is het verschil? Ik weet wel dat die .value verwijst naar de form. Bij die laatste is er wel sprake van een innerhtml?
[ code verwijderd ]
Je weet het verschil tussen gegenereerde output en sourcecode?quote:Op dinsdag 18 maart 2014 18:01 schreef Sucuk het volgende:
Kunnen jullie naast het schrijven van websites ook de codes van andere websites lezen? Ik zelf kan natuurlijk mijn eigen geschreven code lezen, maar van een website begrijp ik er letterlijk niks van (tijdens het element inspecteren/source code) van bijv. autoscout24.
Jep.quote:Op dinsdag 18 maart 2014 18:27 schreef CrashO het volgende:
[..]
Je weet het verschil tussen gegenereerde output en sourcecode?
Ja, dat klopt. Bijna alles is een object in Javascript, maar als je een variabele met een string literal tot string hebt gebombardeerd, is het niet meer mogelijk zomaar je eigen properties en methods eraan te hangen zoals wel kan als het een generiek object is. Verwarrend genoeg kan dat trouwens weer wel als je 'm aanmaakt dmv "new String()", omdat je dan echt een object maakt (typeof geeft dan ook "object" terug ipv "string").quote:Op dinsdag 18 maart 2014 17:29 schreef WoordenShuffelaar het volgende:
[..]
Klopt niet helemaal. Persoon is dan een object van de klasse string, en heeft dan propertys die bij een String horen, zoals substring, split etc.
Kan dat niet met:quote:Op dinsdag 18 maart 2014 18:55 schreef Tijn het volgende:
[..]
Ja, dat klopt. Bijna alles is een object in Javascript, maar als je een variabele met een string literal tot string hebt gebombardeerd, is het niet meer mogelijk zomaar je eigen properties en methods eraan te hangen zoals wel kan als het een generiek object is. Verwarrend genoeg kan dat trouwens weer wel als je 'm aanmaakt dmv "new String()", omdat je dan echt een object maakt (typeof geeft dan ook "object" terug ipv "string").
Juist dit soort taal-specifieke quirks is een goede reden om eerst een brede basis op het gebied van programmeren te ontwikkelen met een taal die niet al teveel rariteiten heeft voordat je in een taal duikt om er iets mee te gaan bouwen. Want als beginner is het moeilijk om de basis te onderscheiden van de fratsen.
1 2 3 4 5 | String.prototype.charAt = function() { alert("test"); }; var a = "a"; a.charAt(); |
Gewoon console.log gebruiken om te testen.quote:Op dinsdag 18 maart 2014 20:50 schreef esv7 het volgende:
[..]
Kan dat niet met:
[ code verwijderd ]
Ik dacht dat je de prototype methods gewoon kon overriden?
Verder offtopic vraagje, als je een oneindige alert loop heb,kan je die op een andere manier sluiten in Chrome dan het proces te sluiten?
Waarom heeft dat laatste je voorkeur? Het is minder duidelijk voor de mensen wat er hier gebeurt, dan bij eerste voorbeeld.quote:Op dinsdag 18 maart 2014 16:41 schreef Tijn het volgende:
Ja, het is allemaal een manier om een nieuw object te maken. Er zit geen wezenlijk verschil tussen:
[ code verwijderd ]
[ code verwijderd ]
[ code verwijderd ]
Die laatste syntax heeft mijn voorkeur.
De object literal-notatie geeft beter weer hoe Javascript werkt ipv de illusie te geven dat het met classes werkt (zoals het "new" keyword impliceert). Bovendien wil je in de praktijk zelden een leeg object hebben; de curly braces syntax maakt het makkelijk om in een keer de juiste properties mee te geven.quote:Op dinsdag 18 maart 2014 22:02 schreef Robuustheid het volgende:
[..]
Waarom heeft dat laatste je voorkeur? Het is minder duidelijk voor de mensen wat er hier gebeurt, dan bij eerste voorbeeld.
Hmmz.quote:Op dinsdag 18 maart 2014 23:24 schreef Tijn het volgende:
[..]
De object literal-notatie geeft beter weer hoe Javascript werkt ipv de illusie te geven dat het met classes werkt (zoals het "new" keyword impliceert). Bovendien wil je in de praktijk zelden een leeg object hebben; de curly braces syntax maakt het makkelijk om in een keer de juiste properties mee te geven.
1 | var person = {"foo":"bar"} |
Heerlijk.quote:Op dinsdag 18 maart 2014 23:49 schreef Robuustheid het volgende:
[..]
Hmmz.
Dus voor het initialiseren van een object in javascript, volstaat het om te schrijven als:
[ code verwijderd ]
?
Ohja matlab kan ik ook...quote:Op dinsdag 18 maart 2014 22:53 schreef Toryu het volgende:
Matlab. C++, Java. En Latex.
Werktuigbouwkunde gestudeerd, nu werkzaam als (c++) software engineer.
|
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |