건설자
새로운 개체 ()
새 개체 (값)
매개 변수
값
원래 값 (예 : 숫자, 부울 값 또는 문자열)을 선언하는 선택적 매개 변수는 숫자 객체, 부울 객체 또는 문자열 객체로 변환됩니다. 이 개체는 1.1 및 ECMAScript vl 이전에 JavaScript에서 지원되지 않습니다.
반환 값
값 매개 변수가 생성자로 전달되지 않으면 새로 생성 된 개체 인스턴스를 반환합니다. 원래 값 매개 변수가 지정되면 생성자는 원래 값 랩퍼 객체, 즉 숫자 객체, 부울 객체 또는 문자열 객체를 생성하고 반환합니다. 새 연산자가 사용되지 않으면 객체 () 생성자를 함수라고하며 새 연산자를 사용할 때와 동일하게 작동합니다.
재산
건설자
객체의 생성자 인 JavaScript 함수에 대한 참조
방법
1. HasownProperty ()
객체가 특정 이름을 가진 로컬로 정의 (상속되지 않은) 속성이 있는지 확인하십시오.
코드 사본은 다음과 같습니다.
<script type = "text/javaScript">
var o = new Object ();
o.name = "Tom";
경고 (O.HasOwnProperty ( "name")); //진실
경고 (O.HasOwnProperty ( "Age")); //거짓
</스크립트>
2. isprototype ()
문법
object.isprototype (o)
매개 변수
영형
모든 대상.
반환 값
객체가 O의 프로토 타입 인 경우 true를 반환하십시오. O가 객체가 아니거나 Object가 O의 프로토 타입이 아닌 경우 False가 반환됩니다.
설명하다
JavaScript 객체는 프로토 타입 객체의 특성을 상속합니다. 객체의 프로토 타입은 객체를 작성하고 초기화하는 데 사용되는 생성자의 프로토 타입 속성에 의해 참조됩니다. isprototype () 메소드는 객체가 다른 객체의 프로토 타입인지 여부를 결정하는 메소드를 제공합니다. 이 방법은 객체의 클래스를 결정하는 데 사용될 수 있습니다.
예
코드 사본은 다음과 같습니다.
var o = new Object (); // 객체를 만듭니다
object.prototype.isprototypo (o) // true : o 객체입니다
function.prototype.isprototypof (O.ToString); // true : Tostring은 함수입니다
array.prototype.isprototype ([1,2,3]); // true : [1,2,3]는 배열입니다
// 다음은 동일한 테스트를 수행하는 또 다른 방법입니다.
(o.constructor == 객체); // true : o Object () 생성자로 생성되었습니다
(O.tostring.constructor == 함수); // true : O.ToString은 함수입니다
/프로토 타입 객체 자체는 프로토 타입 객체입니다. 다음 호출은 True를 반환합니다
// 지침 기능은 함수를 상속합니다. prototype 및 object.prototype 특성.
object.prototype.isprototype (function.prototype);
3. proertyiseNumerable ()
문법
Object.PropertyisEnumerable (propname)
매개 변수
propname
객체 프로토 타입의 이름을 포함하는 문자열.
반환 값
객체에 PropName이라는 비인간 속성이 있고 속성을 열거 할 수있는 경우 true 반환.
설명하다
for/in 문을 사용하여 "열거 가능한"객체의 속성을 가로 지르십시오. 그러나 객체의 모든 속성이 열거 될 수있는 것은 아닙니다. JavaScript 코드를 통해 객체에 추가 된 속성은 열거 될 수 있으며, 내부 개체의 사전 정의 된 속성 (예 : 메소드)은 일반적으로 열거 할 수 없습니다. PropertiesEnumerable () 메소드는 열거 가능한 특성과 열성 할 수없는 특성을 구별하는 방법을 제공합니다. 그러나 ECMAScript 표준은 PropertyIsenumerable () 메소드가 프로토 타입 체인을 감지하지 않음을 규정하고 있으며, 이는 물체의 로컬 특성에만 적용되며 상속 된 특성의 열거를 감지 할 수 없음을 의미합니다.
예
코드 사본은 다음과 같습니다.
var o = new Object (); // 객체를 만듭니다
ox = 3.14; // 정의 - 속성
O.PropertyisEnumerable ( "x"); // 성질 X는 로컬이며 열거 가능합니다
O.PropertyisEnumerable ( "y"); // false : o는 속성이 없습니다 y
O.PropertyisEnumerable ( "Tostring"); // false : tostrlng 속성이 상속됩니다
object.prototype.propertyisEnumerable ( "Tostring"); // false : 열거 된
벌레
표준이 속성이 아닌 속성 만 감지하는 속성을 제한하는 경우는 분명히 잘못입니다. Internet Explorer 5.5는 표준에 따라이 방법을 구현합니다. NestAcpe 6.0에서 구현 된 PropertySeenumerable () 방법은 프로토 타입 체인을 고려합니다. 이 접근법은 바람직하지만 표준과 충돌하므로 NetScape 6.1은 IE 5.5와 일치하도록 수정했습니다. 표준에는 이러한 오류가 있으므로이 방법은 그다지 유용하지 않습니다.
코드 사본은 다음과 같습니다.
<cript>
var obj = new Object ();
obj.title = 'aaa';
obj.funb = 함수 (a, b)
{
경고 (A+B);
}
경고 (obj.title);
obj.funb (1,2);
</스크립트>
여기 방법이 있습니다
*************************************
코드 사본은 다음과 같습니다.
<script language = "javaScript">
함수 객체 (값, a, b) {
this.title = value;
this.funb = function () {
this.a = a;
this.b = b;
경고 (A+B);
}
}
var obj = 새 개체 ( "AAA", 1,2);
경고 (obj.title);
obj.funb ();
// 여기에 객체에 새 메소드를 추가합니다
Object.Prototype.name = "123456";
경고 (obj.name);
</스크립트>
여기 또 다른 방법이 있습니다