Некромансер., Соглано ecmascript 5.1  идентификатор функции как выражения создается в Lexical enviroment (созданном как часть контекста исполнения выражения (не кода) функции) и по идее не должен быть виден из вне, но твой пример мне не понятен, почему видна "a"!!!! Кстати  согласно все то же спецификации 
var s=function a(){}
уже замыкание.
Люди, я сам плохо понимаю логику языка, но чтобы пролить свет на нее нужно!!! читать спецификацию, частными примерами очень тяжело понять, что почему происходит.