javascript - オブジェクトが純粋なオブジェクトかどうかを判断するための jQuery ソース コードの isPlainObject 関数について
phpcn_u1582
phpcn_u1582 2017-06-12 09:28:36
0
1
697
リーリー

以下は異議申し立てコードに記載されているコードです

リーリー

jQuery 3.2.1 では、オブジェクトが純粋なオブジェクトかどうかを判断する関数の最後の 2 行が、私が自分でテストしたときに等価ではありませんでした。何が問題なのかお聞きしたいです。

リーリー ###私に聞いて###

    出力が
  1. false になる理由

  2. Object.hasOwnProperty.call(proto, "constructor") && proto.constructor;

    意味

  3. Object.hasOwnProperty.toString.call( Object )

    出力は function Object() { [ネイティブ コード] }Object.hasOwnProperty です。 .toString.call(Number)
    出力はfunction Number() { [ネイティブ コード] } Why です。

phpcn_u1582
phpcn_u1582

全員に返信(1)
巴扎黑

リーリー

1. var obj = function(){}; は、この関数の機能を誤解しているため、 false を返します。これは、関数による作成を意味するのではなく、 new Object(); を意味します。

Object.hasOwnProperty.toString.call(Number) は、関数 Number() { [ネイティブ コード] } として出力されます。これは、Object.hasOwnProperty.toString がオブジェクトのコンストラクター関数を文字列形式で返し、呼び出しメソッドが Object.hasOwnProperty toString から借用するためです。方法。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート