1、パラメーターがオブジェクト、core js オブジェクト (ネイティブ ECMAScript オブジェクト)、またはホスト オブジェクト (ホスト オブジェクト) の場合、オブジェクトが直接返されます。 生成されるオブジェクト コンストラクターは、渡されたパラメーター オブジェクトのコンストラクターのままです。この結果、オブジェクトは新しいオブジェクトであっても、そのコンストラクターは必ずしもオブジェクトであるとは限りません。
function Person(){this.name= 'jack' ;}
var w = 新しいオブジェクト(ウィンドウ)、
d = 新しいオブジェクト(ドキュメント)、
p = 新しいオブジェクト(新しい人());
コンソール。 log(w .constructor); //-> ウィンドウ
console.log(p.constructor); 🎜>
2、パラメータは文字列 (String)、数値 (Number)、ブール値 (Boolean) などの基本型オブジェクトであり、オブジェクトにパッケージ化されます (変換されます)。対応するパッケージング クラスに) を格納し、 を返します。
var s = new Object( 'hello' ),
n = 新しいオブジェクト(22),
b = 新しいオブジェクト(true);
console.log(typeof s); console.log (typeof n); //-> オブジェクト
console.log(s.constructor); ; 文字列
console.log(n.constructor) //-> 数値
上記からわかるように、パラメータを渡すとき、new Object を使用して生成されたオブジェクトのコンストラクターは、
コードをコピーします
console.log(o1.constructor); // -> オブジェクト
上記は、jquery1.4 の次のコードが false を返す理由を説明できます
コードをコピーします
コードは次のとおりです: