Variables outside a package?

Ok, I’m not sure what’s the deal with this one but it’s quite funny… I was a bit bored and played around in flash, I defined a var outside the package, and funnily it sees it… it works… could someone explain, why ? And what’s the whole purpose of it ? Because I can’t really understand why they let variables work outside packages, and since you can’t control them by an access modifier, it’s even funnier…

package { 	 	import flash.display.Sprite; 	 	public class Test extends Sprite { 		public function Test():void { 			trace(crap); 		} 	} }  var crap:String = "hello";