私はJavascriptのプロトタイプの継承を学んでおり、htmlページの本文のタグに次のものがあります。
function F() {}
//F.prototype = {a:"hello"};
var x = new F();
document.write(x.constructor);
これにより、ブラウザに次の出力が表示されます。
関数F(){}
ただし、2行目のコメントを外すと、次のようになります。
function Object(){[ネイティブコード]}
それでも、x
最後の行を次のように変更すると、Fのプロトタイプから継承されます...
document.write(x.a);
...次のプリントアウトが表示されます。
こんにちは
FirefoxとSafariでこれを試しましたが、どちらでも同じことが起こります。
一体何がここで起こっているのか誰かが知っていますか?