>  기사  >  웹 프론트엔드  >  js_javascript 기술의 새 객체에 전달된 매개변수에 대한 일부 자세한 분석

js_javascript 기술의 새 객체에 전달된 매개변수에 대한 일부 자세한 분석

WBOY
WBOY원래의
2016-05-16 18:09:231003검색
1, 매개변수가 객체, 코어 js 객체(네이티브 ECMAScript 객체) 또는 호스트 객체(호스트 객체)인 경우 객체가 직접 반환됩니다.
생성된 개체 생성자는 여전히 전달된 매개변수 개체의 생성자입니다. 결과적으로 객체는 새로운 객체이지만 해당 생성자는 반드시 객체일 필요는 없습니다.
코드 복사 코드는 다음과 같습니다.

function Person(){this.name= 'jack' ;}
var w = new Object(창),
d = new Object(문서),
p = new Object(new Person())

콘솔. log(w .constructor); //->Window
console.log(d.constructor) //->HTMLDocument
console.log(p.constructor) //-> 🎜>

2, 매개변수는 문자열(String), 숫자(Number), 불리언 값(Boolean) 등의 기본형 객체를 객체(변환)로 패키징한다. 해당 패키징 클래스로) 및 반환됩니다.
코드 복사 코드는 다음과 같습니다.
var s = new Object( 'hello' ),
n = new Object(22),
b = new Object(true)

console.log(typeof s)
console.log (typeof n); //->console.log(typeof b) //->console.log(s.constructor); ; String
console.log(n.constructor); //-> Number
console.log(b.constructor) //-> 위에서 본 것처럼, 매개변수를 전달할 때 new Object를 사용하여 생성된 객체의 생성자는 반드시 Object를 가리킬 필요는 없습니다.



코드 복사

코드는 다음과 같습니다.
var obj1 = new Object, obj2 = var o1 = new Object (obj1); o2 = new Object( obj2); console.log(o1.constructor); //->console.log(o2.constructor); -> Object

위 내용은 jquery1.4의 다음 코드가 false를 반환하는 이유를 설명합니다




코드 복사

코드는 다음과 같습니다.

function Person(){this.name='jack';} var p = new Person() $.isPlainObject; (new Object(4)); //-> false $.isPlainObject(new Object('hello')) //-> false $.isPlainObject(new Object(true)); //-> false $.isPlainObject(new Object( p)) //-> false
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.