このコードを検討:インラインインスタンスの作成動作が異なるのはなぜですか?
function Foo() {
}
Foo.prototype.alert = function() {
alert(this);
}
(new Foo()).alert();
(jsfiddleで)実行されると、アラートが「これは」ウィンドウオブジェクトであることを示しています。最後の行を次のように変更します。
var foo = new Foo();
foo.alert();
期待どおりに動作します。
なぜ違いがありますか?
jsFiddleデモ2番目の「アラート」が実行されないように見えます:http://jsfiddle.net/sf3M3/ –