If you would like to know about the blockchian itself, then you should know C++ because the blockchain was built using C++.
You can use the above to get started. There are also other libraries like Beem using Python and also another one with ruby that can also interract with the blockchain. But for now I think HiveJS and Dhive should be sufficient to get started as you are already familiar with js.
Then, for your webapp, you can use any language you like!
A dApp is a frontend + smart contracts 
HTML + CSS + js + jQuery should give you the tools you need for frontend.
In terms of extending this knowledge to other blockchains, it's almost certainly worth learning some C++. This would give you an insight into Solidity  as well as a better understanding of the way blockchain developers think about building smart contracts into their products.