.foo.com.js includes subdomains, foo.com.js doesn't, allow directories:

Inclusion order:
* default/*.js,
* default.js,
* .com/*.js,
* .com.js,
* .foo.com/*.js,
* .foo.com.js
* foo.com/*.js
* foo.com.js

This way, stuff that only should run on foo.com can be put in foo.com*, without
needing to test location.hostname to not run on its subdomains any more. Also,
scripts can be named by what they do (and even keep the .user.js extension), if
you put them in site directories instead of directly in ~/.js.

In each applicable directory, files will be injected in alphabetical order.
Use ALL/*.js instead of default.js, and enforce named domain/scripts(.user)?.js
Be safer from badly coded .js