window.status already exists (it is used to get/set the text of the browser's status bar) and when a value is assigned to it, it is converted to a string. If you do console.log( status ); you will see that status has the string value "false", which causes you to see the output false, since you effectively have !"false" and "false" is a truthy value in JavaScript.
If you do the same thing inside a function you'll get the expected output:
(function ( ) {
var status = false;
console.log(!status); // true
})();