Когда-то и я столкнулся с этим вопросом лицом к лицу. В тот момент я решил обратиться к основам работы браузера. На Хабре есть статьи на эту тему, причем их немало, которые мне помогли вникнуть в суть происходящего. Далее я начал изучать инструменты разработчика. Сам я использую Chromium с его Chrome Dev tools от Google, разумеется, вам нужно использовать тот инструмент, который вам больше нравится, т.к. нет никакой разницы что использовать. Есть разница, как это использовать. Немного освоившись, я принялся дебажить свой же код. Иногда в ход шли реальные работы, а иногда, код написанный специально для этого. Самый эффективный пример, который мне понравился, это to do list, который я написал специально для этих целей. В интернет, to do list является самым популярным примером не просто так - это достаточно простой, но гибкий пример, на котором можно строить задачи как для новичков, так и для проффи. Знания, которые я получил этой практикой мне пригодились не сразу, но зато к месту. Спустя время, я начал осознавать, что мне стало проще ковыряться в чужом коде, и вот тогда я понял, что изучение основ и практика не прошли даром. Повторюсь, что когда-то я задал такой же вопрос, а ответ на него пришел сам собой спустя годы изучения и практики. Я считаю, что вам нужно, просто, больше практиковаться и тогда не вы будете задавать вопросы, а вам. Успехов вам. Надеюсь, что мой недоответ немного вам поможет.