Javascript 학습 노트 1 의 데이터 형식

4578 단어 데이터 형식
1.데이터 형식 자바 script 은 약 한 유형의 스 크 립 트 언어 로 모두 6 가지 데이터 형식 이 있 으 며,기본 데이터 형식,특수 데이터 형식,복합 데이터 형식 으로 나 뉜 다.1.기본 데이터 형식:수치 형,문자열 형,불 형 2.특수 데이터 형식:null,undefined(null 은 외 현적 할당 이 필요 하고 undefined 는 할당 이 없다 고 표시 함)3.복합(참조)데이터 형식:Object(배열 은 특수 한 대상)주:기본 데이터 형식 과 참조 데이터 형식의 차 이 를 이해 합 니 다.예 를 들 어 함수 매개 변수 전달 2.포장 류 와 기초 데이터 유형의 관 계 는 기초 데이터 유형 에 대해 해당 하 는 포장 류(Object 대상)와 이에 대응 합 니 다.Number,String,Boolean 주:기본 데이터 형식 은 일정한 조건 에서 기본 형식 포장 대상 으로 전 환 됩 니 다
 
var str=" ";
var length=str.length();
// length() ,Javascript
// str String ,
데이터 형식(1)type of(계 륵)을 어떻게 판단 하 는 지 다음 과 같은 6 가지 데이터 형식 만 검출 할 수 있 습 니 다:number,string,boolean,undefined,object,function(주의!)
 
alert(typeof(null)); // object
alert(typeof(a)); //a , undefined
따라서 판단 기초 데이터 형식 은 다음 과 같다.instanceof 의 오른쪽 동작 수 는 대상 이 어야 합 니 다
 
function type(o) {
return (o === null) ? 'null' : typeof(o);
}
instanceof 는 대상 자체 의 유형(3)constructor
 
function Animal() {};
function Pig() {};
Pig.prototype = new Animal();
alert(new Pig() instanceof Animal); // true
(4)Object.toString()
 
alert(1.constructor); //
var o = 1;
alert(o.constructor); // Number
o = null; // or undefined
alert(o.constructor); //
alert({}.constructor); // Object
alert(true.constructor); // Boolean
call 과 apply 의 차 이 를 검사 하 는 데 적합 하지 않 습 니 다.모두 Function.prototype 의 방법(방법 에 대한)입 니 다.자바 script 엔진 내 에서 이 루어 집 니 다.실제로 이 두 가지 역할 은 거의 같 습 니 다.주의해 야 할 부분 은 call(thisObj[,arg 1[,arg 2[,)중의 arg 매개 변 수 는 변수 일 수 있 습 니 다.apply([thisObj[,argArray])중의 매개 변 수 는 배열 집합 방법 으로 다른 대상 의 호출 을 빌려 임 무 를 완성 하 는 것 입 니 다.원 리 는 방법 이 실 행 될 때 상하 문 대상 이 바 뀌 었 다 는 것 이다.(5)총괄
 
function isArray(o) {
return Object.prototype.toString.call(o) === '[object Array]';
}

4.데이터 형식 변환 자 바스 크 립 트 는 두 가지 데이터 형식의 변환 방법 이 있다.하 나 는 전체 값 을 한 유형 에서 다른 데이터 형식 으로 변환 하 는 것 이 고,다른 하 나 는 한 값 에서 다른 유형의 값 을 추출 하 는 것 이다.전환 작업 을 마 쳤 습 니 다.기본 데이터 형식 을 다음 과 같은 세 가지 방법 으로 변환 합 니 다.1.문자 형 으로 변환:String();예:String(678)의 결 과 는"678"입 니 다.2.수치 형 으로 변환:Number();예:Number("678")의 결 과 는 678 3 이다.불 형 으로 전환:Boolean();예:Boolean("aaa")의 결 과 는 true 입 니 다.한 값 에서 다른 종류의 값 을 추출 하 는 방법 은 다음 과 같 습 니 다.1.문자열 의 정수 추출:parseInt();예:parseInt("123 zhang")의 결 과 는 123 입 니 다.문자열 의 부동 소수점 추출:parseFloat();예:parseFloat("0.55zhang")의 결 과 는 0.55 이 며,다양한 유형의 변환 방법 Number 를 문자열 로 변환 합 니 다:String(number),Number.toString(2/8/16);/각각 2 진법\8 진법\16 진법 기본 값(인삼 없 음)10 진법,toFixed(3)//소수점 을 유지 한 후 3 자리 toExponextial(3);/소수점 앞 1 위,소수점 뒤 3 위 는 var n=123456.789 와 같다.n.toExponextial(3);//1.234e+5 즉 1.234X 105 toPrecision(4);/지 정 된 자릿수 를 되 돌려 줍 니 다.만약 자릿수 가 완전히 표시 되 지 않 는 다 면 지수 표현법(3 가지 방법 은 모두 반올림 합 니 다)5.기타 총 결(무시 하기 쉬 운 것)1.parseInt 의 함정 아래 부분 은 에서 발췌 합 니 다.parseInt 는 문자열 을 정수 로 바 꾸 는 함수 입 니 다.이 는 비 숫자 를 만 났 을 때 해석 을 중단 하기 때문에 parseInt("16")은 parseInt("16 tons")과 같은 결 과 를 얻 었 다.만약 이 함수 가 우리 에 게 추가 텍스트 가 나 왔 다 는 것 을 알려 주 었 으 면 좋 겠 지만,그것 은 그렇게 하지 않 았 을 것 이다.이 문자열 의 첫 번 째 문자 가 0 이면 10 진법 이 아 닌 8 진법 으로 값 을 구 합 니 다.8 진법 에서 8 과 9 는 하나의 숫자 가 아니 기 때문에 parseInt("08")과 parseInt("09")은 0 을 결과 로 한다.이 오 류 는 프로그램 이 날짜 와 시간 을 분석 하 는 데 문제 가 생 겼 습 니 다.다행스럽게도 parseInt 는 하나의 기 수 를 매개 변수 로 받 아들 일 수 있 습 니 다.그러면 parseInt("08",10)결 과 는 8 입 니 다.항상 이 기수 인 자 를 제공 하 는 것 을 권장 합 니 다.그리고다음은 1:alert(parseInt(0.000001)를 표시 합 니 다.이것 은 일정한 정밀 도 를 초과 하면 js 가 과학적 계수 법 으로 숫자 를 기록 하기 때문이다.예 를 들 어 alert(0.000001).1e-7 을 얻 을 수 있 고 parseInt 는 자동 으로 매개 변 수 를 문자열 로 변환 합 니 다.그것 은 실제 적 으로
 
var _toS = Object.prototype.toString,
_types = {
'undefined' : 'undefined',
'number' : 'number',
'boolean' : 'boolean',
'string' : 'string',
'[object Function]' : 'function',
'[object RegExp]' : 'regexp',
'[object Array]' : 'array',
'[object Date]' : 'date',
'[object Error]' : 'error'
};

function type(o) {
return _types[typeof o] || _types[_toS.call(o)] || (o ? 'object' : 'null');
}
마지막 에 1 을 얻 으 면 이상 하지 않 습 니 다.parseInt 를 사용 하려 면 안의 매개 변 수 를 문자열 로 변환 한 다음 에 변환 한 다 는 것 을 기억 해 야 합 니 다.

좋은 웹페이지 즐겨찾기