Ik begrijp homografen duidelijk niet<\/P><\/DIV>Zoals we schreven in Deel I, is toegang tot de Chrome Developer Tools eenvoudig via sneltoetsen (Control + Shift + I) of door naar de rechterbovenhoek van de browser te navigeren, op de hamburger te klikken en "Meer Hulpmiddelen" te kiezen, daarna "Developer tools".Zodra de Developer Tools geopend zijn (andere Developer Tools zijn beschikbaar in andere browsers), worden er verschillende tabbladen toegankelijk voor je. Hier richten we ons op de Console. Als je het Console-tabblad direct wilt openen in Chrome Developer Tools, gebruik dan deze sneltoets: Control + Shift + J (de "J" staat voor joviaal). Voor meer handige tips, bekijk de officiële Google-documentatie over
JavaScript console.log-verklaringen<\/P><\/DIV>Hier is een screenshot van de uitvoer van de "console.log"-verklaringen. We zien de relevante informatie die we verwachtten. Let ook op dat de uitvoer voor "featureLayer.URL" "undefined" is. Dit komt omdat items in de console hoofdlettergevoelig zijn. De geldige eigenschap is "featureLayer.url", en ongeldige eigenschappen veroorzaken geen foutmelding maar geven in plaats daarvan een undefined resultaat terug. Dit kan lastig zijn om op te sporen, maar later in deze blog bekijken we enkele tips om met dit soort problemen om te gaan.
JavaScript Console-uitvoer van console.log<\/P><\/DIV>Met de Console nog open, laten we proberen dezelfde eigenschapswaarden uit de code in te voeren:
featureLayer.title<\/STRONG>featureLayer.URL<\/STRONG>featureLayer.url<\/STRONG><\/P>Merk op dat alle<\EM> deze eigenschappen nu een foutmelding teruggeven in plaats van een daadwerkelijke waarde (of zelfs "undefined"). Dit komt omdat lokale variabelen niet langer in scope zijn nadat de app is geïnitialiseerd, dus zelfs het object "featureLayer" kan niet worden herkend. Hier is een screenshot van de uitvoer van de nieuwe console-verklaringen.
JavaScript Console-uitvoer nadat app geladen is<\/P><\/DIV>Als we "featureLayer" een globale variabele hadden gemaakt, zouden we dan "undefined" zien terugkeren voor het object in de Console (variabele bekend, maar details nog steeds niet toegankelijk). Het punt is dus dat alleen variabelen die in scope<\EM> zijn kunnen worden onderzocht in de Console. Kunnen we dus interactief met de Console werken en eigenschapswaarden typen? Laten we het uitzoeken.Het volgende wat we kunnen doen met onze voorbeeldapp is een "debugger;"-verklaring toevoegen in de code. We nemen nog een aangepast voorbeeld, gehost op GitHub, dat hier te vinden is:
Here is a blog I wrote that is along the same lines of teaching techniques on how to approach web development:
How to customize a web app using JavaScript, the DOM, Chrome DevTools, and Chrome's debuggerBlog Post created by Andres Castillo on Jul 24, 2019https://community.esri.com/people/andrescastillo08/blog/2019/07/24/how-to-customize-an-app-using-javascript-the-dom-chrome-devtools-and-chromes-debugger
Whohoo! Noah, that's awesome. Thanks for sharing, somehow I missed the third installment! Keep going.i
Well buckle-up Arne, because "JavaScript Debugging Tips Part III" dropped a few months after this blog was published, so if you've only read parts 1 & 2, you're in luck:
https://community.esri.com/groups/technical-support/blog/2017/06/14/javascript-debugging-tips-part-iii-advanced-google-chrome-developer-tools-tips
Thanks for writing Part 2. But it's been 2 years again. This should be a monthly installment thing. Following the API documentation and samples is great. But what I struggle with most is debugging. Chrome Dev Tools documentation helps. But tailoring some documentation to the ArcGIS JSAPI developer, especially the "accidental developer" type would be a terrific resources. ESRI's got such savvy folks...Please keep going!
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.