>  기사  >  웹 프론트엔드  >  js를 사용하여 배열인지 확인하는 방법

js를 사용하여 배열인지 확인하는 방법

一个新手
一个新手원래의
2017-09-07 14:00:571688검색

머리말

이 글은 기본 지식을 대중화하고, js가 데이터 유형을 결정하는 등의 내용을 담고 있습니다. 우리 모두는 PHP에는 is_array() 함수가 있지만 js에는 없다는 것을 알고 있습니다. 데이터 유형이 배열인지 판단할 때 일반적으로 안전한 측면에서 판단하는 함수를 작성합니다. 오늘은 기본적인 데이터 유형 판단 방법을 대중화하여 모든 분들께 도움이 되기를 바랍니다.

typeof

typeof는 전역 변수가 페이지에 정의되어 있는지 여부를 확인하는 데 자주 사용됩니다. 다음과 같이 판단한다면:

//haorooms是全局变量if(haorooms!=undefined){}//js会报错,说"Uncaught ReferenceError: haorooms is not defined"

해결책은 다음과 같이 작성하는 것입니다:

 if(typeof haorooms!=undefined){
 }

typeof를 사용한 후에는 오류가 발생하지 않습니다! 이것은 typeof의 응용 프로그램 중 하나입니다!

또한 typeof는 데이터 유형도 결정할 수 있습니다! 다음과 같이:

var haorooms="string"; console.log(haorooms); //stringvar haorooms=1; console.log(haorooms); //numbervar haorooms=false; console.log(haorooms); //booleanvar haorooms; console.log(typeof haorooms); //undfinedvar haorooms= null; console.log(typeof haorooms); //objectvar haorooms = document; console.log(typeof haorooms); //objectvar haorooms = []; console.log(haorooms); //objectvar haorooms = function(){}; console.log(typeof haorooms) //function   除了可以判断数据类型还可以判断function类型

분명히 typeof의 경우 처음 네 가지 유형 외에도 null, 객체 및 배열이 모든 객체 유형을 반환합니다.

instanceofarticle

을 사용하여 배열인지 확인할 수 있습니다.

var haorooms=[];console.log(haorooms instanceof Array) //返回true

constructor

constructor 장은 반환된 객체에 해당하는 생성자입니다.

다양한 데이터 유형을 결정하는 방법:

console.log([].constructor == Array);console.log({}.constructor == Object);console.log("string".constructor == String);console.log((123).constructor == Number);console.log(true.constructor == Boolean);function employee(name,job,born){
    this.name=name;
    this.job=job;
    this.born=born; }var haorooms=new employee("Bill Gates","Engineer",1985); console.log(haorooms.constructor); //输出function employee(name, jobtitle, born){this.name = name; this.jobtitle = job; this.born = born;}

haorooms.constructor를 출력하면 생성자가 반환된 객체에 해당하는 생성자임을 알 수 있습니다.


위 내용은 js를 사용하여 배열인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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