关于js作用域, 这个例子打印出来的值让我完全看不懂了...

图片说明
为什么我觉得打印出来的应该分别是 10 5 undefined
有没有哪些我需要去补的关于作用域的优秀的文章
谢谢

 参考:http://hszy00232.blog.163.com/blog/static/43022753201131315817814/
你的代码等价
function fn()
{
var num;
console.log(num);
...
}
要输出全局变量,修改为
console.log(window.num);