이 글에서 공유한 내용은 JS의 유형 판단에 관한 내용입니다. 필요한 참고 가치가 있는 친구들이 참고할 수 있습니다.
JS에서 유형을 판단하는 방법에는 일반적으로 4가지가 있습니다.
typeof: 우리 모두 알고 있듯이 결정할 수 없고 권장되지 않는 유형이 많이 있습니다.
두 번째,
constructor: 각 함수에는 자동으로 프로토타입 속성이 있습니다. 이 속성은 객체이며, 이 객체에는 유일하게 열거할 수 없는 속성 생성자가 포함되어 있습니다. 생성자 속성의 값은 함수 객체이며 이 함수는 생성자입니다.
var a1 = new Aaa();
이를 사용하여 유형을 판단할 수 있습니다var arr = [];
arr.constructor == Array 이 방법으로 배열인지 여부를 판단할 수 있으며 다른 유형의 경우에도 마찬가지입니다
instanceof: 객체와 해당 생성자가 프로토타입 체인에 있는지 여부를 판단합니다.
var o = new Aaa();
o instanceof Array가 프로토타입 체인에 있는지 확인합니다. o는 Aaa 생성자 인스턴스 아래에 있으므로 false가 됩니다.
toString() 메서드를 사용하세요. Object.prototype.toString.call( o);
o: 위의 내용은 '[Object Array]' 유형의 문자열을 반환합니다. 요약하면 네 번째 일반적인 방법이 가장 안정적이며 두 번째, 세 가지 방법은 일반적으로 문제가 없지만 iframe이 있으면 잘못됩니다. 하나는 일반적으로 JS에서 유형을 결정하는 네 가지 방법입니다.두 번째,
constructor: 각 함수에는 자동으로 프로토타입 속성이 있습니다. 이 속성은 객체이며, 이 객체에는 유일하게 열거할 수 없는 속성 생성자가 포함되어 있습니다. 생성자 속성의 값은 함수 객체이며 이 함수는 생성자입니다.
var a1 = new Aaa();
a1.constructor는 이 생성자를 가리킵니다
이를 사용하여 유형을 판단할 수 있습니다
var arr = [];
三
var o = new Aaa();
o instanceof Array가 프로토타입 체인에 있는지 확인합니다. o는 Aaa 생성자 인스턴스 아래에 있으므로 false가 됩니다.
o obj.prototype 인스턴스는 true가 됩니다. 모든 개체가 obj.prototype
toString() 메서드를 사용하세요. Object.prototype.toString.call( o);
o: 위의 내용은 '[Object Array]' 유형의 문자열을 반환합니다. 요약하면 네 번째 일반적인 방법이 가장 안정적이며 두 번째, 세 가지 방법은 일반적으로 문제가 없지만 iframe이 있으면 잘못됩니다. 하나는 가장 신뢰할 수 없습니다.
관련 권장 사항
js는 PC인지 모바일 단말기인지를 결정합니다
Node.js는 PC 버전인지 모바일 버전인지 판단합니다
위 내용은 JS의 판단 유형의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!