데이터 유형 판단 typeof
typeof는 대부분의 데이터 유형에 대한 판단을 해결할 수 있으며, 반환 값은 피연산자의 유형을 설명하는 문자열입니다.
//判断变量num是不是一个数字类型 if(typeof num=='number') { return true; }
반환 결과:
var a="hling"; console.log(a); //string var a=1; console.log(a); //number var a=false; console.log(a); //boolean var a; console.log(typeof a); //undfined var a = null; console.log(typeof a); //object var a = document; console.log(typeof a); //object var a = []; console.log(a); //object var a = function(){}; console.log(typeof a) //function除了可以判断数据类型还可以判断function类型
문자열, 숫자, 부울, 정의되지 않음의 4가지 유형 외에 null, 객체, 배열 모두 객체 유형을 반환합니다! ! !
함수 유형의 경우 typeof(Date), typeof(eval) 등과 같은 함수가 반환됩니다.
js 배열 유형 결정 방법
1) instanceof
instanceof는 변수가 객체의 인스턴스인지 여부를 결정하는 데 사용되는 삼항 연산자입니다. 이 연산자는 JavaScript의 객체지향과 관련이 있습니다. 이를 이해하려면 먼저 JavaScript의 객체지향을 이해해야 합니다. 이 연산자는 객체의 프로토타입 체인이 생성자의 프로토타입 객체를 가리키는지 여부를 감지하기 때문입니다.
a instanceof b?alert("true"):alert("false") //注意b值是你想要判断的那种数据类型,是不是一个字符串,比如Array
예:
var arr = [1,2,3,1]; alert(arr instanceof Array); // true
2) W3C 정의의 생성자
: 생성자 속성은 이 객체를 생성한 배열 함수에 대한 참조를 반환합니다.
var arr = []; arr instanceof Array; // true arr.constructor == Array; //true각각 판단 첫 번째 유형의 방법은 다음과 같습니다.
console.log("string".constructor == String); console.log((123).constructor == Number); console.log(false.constructor == Boolean); console.log([].constructor == Array); console.log({}.constructor == Object);일반적인 방법:
function isArray(object){ return object && typeof object==='object' && Array == object.constructor; }
3) 특징 판단
function isArray(object){ return object && typeof object==='object' && typeof object.length==='number' && typeof object.splice==='function' && //判断length属性是否是可枚举的 对于数组 将得到false !(object.propertyIsEnumerable('length')); }
4) Object.prototype.toString.call
Object.prototype.toString.call(value) == '[object Array]'
위 내용은 js 데이터 유형 및 배열 메소드 인스턴스를 판단하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!