オブジェクトがない場合、変数を呼ばれると、thisはなくなります,代わりにwindowを使われます。オブジェクトからよばれなかった。thisの値はwindow。オブジェクトからよばれなかった。thisの値はwindow。fnはオブジェクトからよばれなかった。thisの値はwindow。fnはオブジェクトからよばれなかった。thisの値はwindow。}myFunctionCaller(x.p);あなたが関数を呼び出していないときは、それはあまり明白になりません。JavascriptにはいろいろAPIは渡した変数を呼ばれてくれます。setTimeout。