Effective caching is seldomly done:
- Don't store a copy of the library (jQuery, Prototype, Dojo) on your server when you can use a shared API like Google's Libraries API to speed up page loads
- Combine and minify all your script that you can into one
- Use mod_expires to give all your scripts infinite cache lifetime (never redownload)
- Version your javascript filenames so that a new update will be taken by clients without need to reload/restart
(i.e. myFile_r231.js, or myFile.js?r=231)