Не совсем литература, но один из способов обучения: взять какую-нибудь крупную популярную JS-библиотеку (например, jQuery), взять её исходники и документацию. И смотреть, как и почему реализованы различные методы. В случае непоняток – гуглить конктретные моменты.
jQuery в этом плане отлично подойдёт для изучения работы с DOM и понимания различных кроссбраузерных деталей.
Какой-нибудь условный Backbone – для понимания наследования в JS.
Такой путь достаточно сложен, так что надо не торопиться, а детально изучать каждую мелочь, чтобы понять, для чего и почему была написана та или иная строчка кода.