I believe appending a version number to a JS file allows me to change that version number to guarantee a user isn't viewing an old, cached version of the file.

But what is best?

(1) js-file.js?v=4

(2) js-file_v4.js

Obviously (2) needs the filename changing, but looking at it, does (1) work? I'm 100% that (2) would work.

Are there any other downfalls of either of the methods? What do other people use?

I need to be 100% certain that changing the version number will ensure nobody gets an old file.