최근 에이 프로젝트는 빈 개체를 판단하는 데 문제가 발생했습니다. 관련 정보를 검토하고 요약하십시오.
빈 객체를 판단하는 것은 더 이상 빈 문자열을 판단하는 것과 같지 않습니다. 빈 객체도 물체이기 때문에 메모리를 끈처럼 비어있는 대신 별도로 할당해야하기 때문에 쌀의 큰 냄비입니다. 모든 사람은 다음과 같이 동일합니다.
위의 코드에 표시된 바와 같이, 객체 문자 문자 또는 객체 생성자를 통해 생성 된 빈 개체를 통해 생성 된 빈 객체이든 서로 같지 않다는 것을 알 수 있습니다.
1. 비교를 위해 객체를 문자열로 변환합니다
이 방법은 권장되지 않지만 실제로 생각하기가 가장 쉽습니다. 주로 json.stringify ()를 사용하여 객체를 강제합니다. 살펴보기 위해 게시됩니다.
var a = {}; var b = new Object (); console.log ( "객체 리터럴 비교 결과 :"+(json.stringify (a) == "{}") console.log ( "생성자 비교 결과 :"+(json.stringify (b) == "{}")문자열로 변환 된 두 개의 빈 객체의 비교가 사실이라는 것을 알 수 있습니다.이 문제를 해결할 수는 있지만 권장되지는 않습니다. 아래 두 번째 방법에 대해 이야기 해 봅시다.
2. 루프에서
객체가 빈 개체인지 확인하기 위해 모든 속성을 반복하기 위해 a in in loop을 사용하십시오.
var a = {}; var b = new object (); 함수 isemptyObject (obj) {for (var key in obj) {return false}; return true}; if (isemptyObject (a)) {alert ( "a는 빈 객체")} if (isemptyObject (b)) {alert ( "b is a impy 객체")}For In Loop을 사용하여 반복 할 때 객체를 루프하고 배열을 반복 할 때 다음과 같은 다음과 같은 해당 루핑 첨자를 사용하십시오.
var b = [ "hello", "my", "world"] for (b) {console.log (b [index]);} // Hello My World위는 편집자가 가져온 모든 내용 (제목)입니다. wulin.com을 더 지원하기를 바랍니다