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