>  기사  >  웹 프론트엔드  >  JS의 판단 유형

JS의 판단 유형

不言
不言원래의
2018-04-10 11:38:334068검색

이 글에서 공유한 내용은 JS의 유형 판단에 관한 내용입니다. 필요한 참고 가치가 있는 친구들이 참고할 수 있습니다.

JS에서 유형을 판단하는 방법에는 일반적으로 4가지가 있습니다.
typeof: 우리 모두 알고 있듯이 결정할 수 없고 권장되지 않는 유형이 많이 있습니다.
두 번째,
constructor: 각 함수에는 자동으로 프로토타입 속성이 있습니다. 이 속성은 객체이며, 이 객체에는 유일하게 열거할 수 없는 속성 생성자가 포함되어 있습니다. 생성자 속성의 값은 함수 객체이며 이 함수는 생성자입니다.

function Aaa(){};

var a1 = new Aaa();

a1.constructor는 이 생성자를 가리킵니다

이를 사용하여 유형을 판단할 수 있습니다

var arr = [];

arr.constructor == Array 이 방법으로 배열인지 여부를 판단할 수 있으며 다른 유형의 경우에도 마찬가지입니다

instanceof: 객체와 해당 생성자가 프로토타입 체인에 있는지 여부를 판단합니다.
var o = new Aaa();

o instanceof Array가 프로토타입 체인에 있는지 확인합니다. o는 Aaa 생성자 인스턴스 아래에 있으므로 false가 됩니다.

o obj.prototype 인스턴스는 true가 됩니다. 모든 개체가 obj.prototype

four를 상속하기 때문입니다.

toString() 메서드를 사용하세요. Object.prototype.toString.call( o);

o: 위의 내용은 '[Object Array]' 유형의 문자열을 반환합니다. 요약하면 네 번째 일반적인 방법이 가장 안정적이며 두 번째, 세 가지 방법은 일반적으로 문제가 없지만 iframe이 있으면 잘못됩니다. 하나는 일반적으로 JS에서 유형을 결정하는 네 가지 방법입니다.

두 번째,
constructor: 각 함수에는 자동으로 프로토타입 속성이 있습니다. 이 속성은 객체이며, 이 객체에는 유일하게 열거할 수 없는 속성 생성자가 포함되어 있습니다. 생성자 속성의 값은 함수 객체이며 이 함수는 생성자입니다.

function Aaa(){};

var a1 = new Aaa();

a1.constructor는 이 생성자를 가리킵니다

이를 사용하여 유형을 판단할 수 있습니다

var arr = [];

arr.constructor == Array 이 방법으로 배열인지 여부를 판단할 수 있으며 다른 유형의 경우에도 마찬가지입니다


instanceof: 객체와 해당 생성자가 프로토타입 체인에 있는지 여부를 판단합니다.

var o = new Aaa();

o instanceof Array가 프로토타입 체인에 있는지 확인합니다. o는 Aaa 생성자 인스턴스 아래에 있으므로 false가 됩니다.

o obj.prototype 인스턴스는 true가 됩니다. 모든 개체가 obj.prototype

four를 상속하기 때문입니다.

toString() 메서드를 사용하세요. Object.prototype.toString.call( o);
o: 위의 내용은 '[Object Array]' 유형의 문자열을 반환합니다. 요약하면 네 번째 일반적인 방법이 가장 안정적이며 두 번째, 세 가지 방법은 일반적으로 문제가 없지만 iframe이 있으면 잘못됩니다. 하나는 가장 신뢰할 수 없습니다.

관련 권장 사항

js는 PC인지 모바일 단말기인지를 결정합니다

Node.js는 PC 버전인지 모바일 버전인지 판단합니다

위 내용은 JS의 판단 유형의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:JS 데이터 구조다음 기사:JS 데이터 구조