열번쨰 편
==============================
function f(x){return {fn:function(){return x}}}
var a = f(0);
a.fn();
function f(x){return {}} // 함수생성하고 리턴값으로 빈객체 생성
var a = f(0); // 변수생성(함수실행코드 하면 함수만들어짐)
a.fn = function(){return x}; //이건 a는 f함수를 지칭하고 f함수안에 들어가서 리턴값인 빈객체에다가 fn이라는 이름(키)을 생성하고 내용(값)으로는 함수를만들고 리턴값으로 x를 반환하는 코드임 그러나 x는 이 객체에 없다.
만약 x라는 이름(키)가 있으면 스코프타고 연결되서 값을 찾아오겠지만...
a.fn(); // 이건 a변수는 곧 f함수를 가르키고 f함수는 빈객체를 가르키므로 이객체에 등록된fn이라는 이름(키)를 실행하라는 실행코드임
이둘의 결과는 당연히 다르다.