jQueryコードを調査しようとしたので、これを使用しました:
document.write($.constructor);
私はこの結果を得ました:
function Function() { [native code] }
とは[native code]
どういう意味ですか? 実際のコードが表示されないのはなぜですか?
でテスト済みGoogle-Chrome
jQueryコードを調査しようとしたので、これを使用しました:
document.write($.constructor);
私はこの結果を得ました:
function Function() { [native code] }
とは[native code]
どういう意味ですか? 実際のコードが表示されないのはなぜですか?
でテスト済みGoogle-Chrome
(コンパイルされた言語ではなく)インタプリタ言語で関数を定義する場合。関数を定義するファイル/文字列/テキストにアクセスできます。
たとえばJavaScriptでは、定義した関数の定義本文を読み取ることができます。
JavaScriptの構築に含まれている関数に対して同じことを行おうとすると、テキストとしてではなくバイナリとして実装されます。その関数を実装するバイナリコードは読み取り可能ではなく、使用できない可能性があるため、表示する理由はありません。
jQueryはデフォルトのJavaScriptの動作を拡張します。これは、たとえばPrototype.jsとは対照的に、非常に高く評価され、賞賛された理由の1つです。Prototypeは、JavaScriptの自然な動作を変更し、通常の機能に依存する他のコードと一緒にPrototypeを使用すると、矛盾が生じる可能性がありました。
jQueryはJavaScriptを拡張し、ネイティブコードを使用して実装された機能があります(パフォーマンス的には良いことです)。
$
、jQuery
単なる関数です。呼び出さなければ、ただの普通の関数です。関数のコンストラクタはFunction
であるため、$.constructor
が表示されます[native code]
。