検索

ホームページ  >  に質問  >  本文

JS の Function() 関数オブジェクト

Object() コンストラクターは次のようになります: var Object=new Function();
Array() コンストラクターは次のようになります: var Array=new Function();
.... 次に:
Function() コンストラクターは次のように表示されます: var Function=new Function()?
Created 自体?
プロトタイプ チェーンの最終的なプロトタイプ オブジェクトとして、他にも同様のネイティブ オブジェクト Object.prototype がありますが、これはどのように作成されたのでしょうか?これもnew Object()で作成されるのでしょうか?しかし、Object.prototype は JS ネイティブ システムの最初のオブジェクトであるべきではないでしょうか?
JS のプロトタイプベースの考え方が理解できなくなったような気がします。ご指導をお願いします...

欧阳克欧阳克2800日前855

全員に返信(3)返信します

  • 学习ing

    学习ing2017-06-12 09:31:33

    実際、これは鶏が先か卵が先かという問題ではありません。関数自体も含め、すべてのオブジェクトは実際には関数です。プロトタイプはコンストラクターと __proto__ に基づいています。これら 3 つが一緒に作成され、プロトタイプ チェーンは __proto__ の方向に基づいて、必要な属性を検索してプロトタイプを形成します。チェーン; したがって、js はシミュレートされた言語であり、これが他の言語との本質的な違いでもあります。

    返事
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-12 09:31:33

    1. new を通じて生成できるオブジェクト (関数) と、new を通じて生成する必要があるすべてのオブジェクト (関数) の間には違いがあります。

    2. js実装の過程で
    3. 関数やオブジェクトなどが提供されると考えられますが、プロトタイプチェーンを実装するために、これらを提供する際にブラウザがプロトタイプチェーンの実装に合わせて__proto__-->***.prototypeを追加するということだと思います。機能。これは、js 環境がいくつかの特別なオブジェクト (関数) を提供し、それらのオブジェクト (関数) が仕様に違反しないように処理されることを意味します。

    最初のものは間違いなく正しいですが、2番目のものは私の理解です。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-12 09:31:33

    リーリー

    返事
    0
  • キャンセル返事