ホームページ  >  記事  >  ウェブフロントエンド  >  js_javascript スキルの新しいオブジェクトに渡されるパラメータの詳細な分析

js_javascript スキルの新しいオブジェクトに渡されるパラメータの詳細な分析

WBOY
WBOYオリジナル
2016-05-16 18:09:231004ブラウズ
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 を使用して生成されたオブジェクトのコンストラクターは、


コードをコピーします

コードは次のとおりです: var obj1 = 新しいオブジェクト、obj2 = {}; (obj1); o2 = new Object( obj2);
console.log(o1.constructor); // -> オブジェクト


上記は、jquery1.4 の次のコードが false を返す理由を説明できます




コードをコピーします

コードは次のとおりです:
function Person(){this.name='jack';} var p = new Person(); (new Object(4)); //-> false $.isPlainObject('hello')) //-> false $.isPlainObject(true); //-> false $.isPlainObject(new Object( p)); //-> false
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。