> 웹 프론트엔드 > JS 튜토리얼 > JavaScript isPrototypeOf와 hasOwnProperty_js 객체 지향의 차이점

JavaScript isPrototypeOf와 hasOwnProperty_js 객체 지향의 차이점

WBOY
풀어 주다: 2016-05-16 18:33:11
원래의
870명이 탐색했습니다.
1.isPrototypeOf
isPrototypeOf는 지정된 객체 object1이 다른 객체 object2의 프로토타입 체인에 존재하는지 확인하는 데 사용됩니다. 그렇다면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
형식은 다음과 같습니다.
object1.isPrototypeOf(object2);
object1은 객체의 인스턴스입니다.
object2는 프로토타입 체인이 확인되는 또 다른 객체입니다.
프로토타입 체인을 사용하여 동일한 객체 유형의 여러 인스턴스 간에 기능을 공유할 수 있습니다.
object2의 프로토타입 체인에 object1이 포함되어 있으면 isPrototypeOf 메서드는 true를 반환합니다.
object2가 객체가 아니거나 object1이 object2의 프로토타입 체인에 나타나지 않으면 isPrototypeOf 메서드는 false를 반환합니다.
사용 예는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.

var re = /^ s*/;
// 여기에 정규식 개체를 정의합니다.
// RegExp가 re의 프로토타입 체인 개체인지 확인하고 true를 반환합니다.
var bIsptt = RegExp.prototype.isPrototypeOf( re);

2. hasOwnProperty
hasOwnProperty는 객체에 명명된 속성이 있는지 또는 객체가 프로토타입 체인에 있는지 여부를 확인할 수 없습니다. . 이 특성은 개체 자체의 구성원이어야 합니다.
프로토타입 체인이 아닌 객체 자체에 의해 속성 또는 메서드가 정의된 경우 true를 반환하고, 그렇지 않으면 false를 반환합니다.
형식은 다음과 같습니다.
object.hasOwnProperty(proName); >판단 proName의 이름은 객체 객체의 속성이나 객체가 아닙니다. 사용 예는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
// 프로토타입 체인의 속성을 감지할 수 없으므로 false를 얻습니다.
var bStr = "Test String".hasOwnProperty("split");
// String 객체의 프로토타입에는 이미 이 속성이 있으므로 자연스럽게 반환됩니다. true
var bStr1 = String.prototype.hasOwnProperty("split");
// 프로토타입의 속성이 감지되지 않으므로 true를 반환합니다.
var bObj = ({fnTest:function(){}} ).hasOwnProperty("fnTest");
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿