이 글에서는 JavaScript에서 데이터 유형을 구현하는 방법과 배열 판단에 대해 설명합니다. JavaScript의 데이터 유형 구현 및 배열 판단에 대해 모르거나 JavaScript의 데이터 유형 구현 및 판단에 관심이 있는 경우입니다. 배열, 그럼 함께 갑시다. 이 기사를 살펴보세요. 쓸데없는 말은 그만하고 요점으로 들어가겠습니다.
서두에 쓴 글:
어제 인터뷰에서 제가 너무 긴장해서 눈물이 나올 것 같은 아주 간단한 질문에 대답하지 못했다는 걸 알게 됐어요. 나중에 생각해보니, 깊은 인상을 남길 수 있도록 꼼꼼히 녹음해야겠다는 생각이 들었어요. 혁명은 아직 성공하지 못했으며 우리는 여전히 강해지려면 열심히 노력해야 합니다!
1. js의 6가지 주요 데이터 유형
number:数字,整数、浮点数等等, string:单引号或者双引号来说明, Boolean:返回true和false,这两个值不一定对应1和0 object:对象,可以执行new操作符后跟要创建的对象类型的名称来创建。 null:只有一个值得数据类型,逻辑上讲,null值表示一个空对象指针。 undefined:未定义,使用var声明变量但未对其初始化时,变量的值就是undefined。
2. 데이터 유형 판단 유형
typeof는 대부분의 데이터 유형에 대한 판단을 해결할 수 있으며 반환 값은 피연산자의 유형을 설명하는 string입니다.
//判断变量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类型
문자열, 숫자, 부울, 정의되지 않음, null, 객체 및 배열의 네 가지 유형을 제외하고 모두 객체 유형을 반환합니다! ! !
함수 유형의 경우 typeof(Date), typeof(eval) 등과 같은 함수가 반환됩니다.
3. js에서 배열 유형을 결정하는 방법
1) instanceof
Instanceof는 변수가 객체의 인스턴스인지 확인하는 데 사용됩니다. 삼항 연산자입니다. 이 연산자는 JavaScript의 객체 지향과 관련이 있습니다. 이를 이해하려면 먼저 JavaScript의 객체 지향을 이해해야 합니다. 이 연산자는 객체의 프로토타입 체인이 constructor의 프로토타입 객체를 가리키는지 여부를 감지하기 때문입니다.
a instanceof b?alert("true"):alert("false") //注意b值是你想要判断的那种数据类型,是不是一个字符串,比如Array
例子:var arr = [1,2,3,1]; alert(arr instanceof Array); // true
2) constructor
W3C 정의의 정의: constructor 속성은 이 객체를 생성한 배열 함수에 대한 참조를 반환합니다.
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) 특징 판단
object.isArray() 판단은 값이 배열인지 정확하게 판별하는 것이 목적입니다. IE9+, Firefox 4+, Safari 5+, Opera 10.5+ 및 Chrome은 모두 이 방법을 구현합니다. 단, IE8 이전 버전은 지원되지 않습니다.
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는 ie 브라우저
위 내용은 데이터 유형의 JavaScript 구현 및 배열 판단 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!