I think its because jshint is trying to "protect" us against accidental assignment strict mode to entire file.
And also it is good to wrap code with anonymous function, or use somekind of namespace.
e.g. both function in strict mode:
(function() {
"use strict";
function foo() {
.....
}
function bar() {
.....
}
}());