>웹 프론트엔드 >JS 튜토리얼 >JavaScript 래퍼 개체_javascript 기술 사용 소개

JavaScript 래퍼 개체_javascript 기술 사용 소개

WBOY
WBOY원래의
2016-05-16 17:24:07936검색

JavaScript는 "." 연산자를 사용하여 객체의 속성과 메서드에 액세스할 수 있습니다. 기본 유형(null, undefine, bool, number, string)은 속성과 메서드가 없는 값 유형이어야 합니다. . 그러나

코드 복사 코드는 다음과 같습니다.

var s='this is a string' ;
alert(s.length);
alert(s.indexOf('is'));

결과는 매우 간단하지만 잘 생각해보면 정말 이상합니다. String은 값 유형이 아닙니다! 왜 속성과 메서드가 있는 거죠!

내장 개체

JavaScript에는 언어의 기본 기능을 생성하는 일련의 내장 객체가 있습니다. 자세히 살펴보세요

부울

부울 객체는 "true" 또는 "false"라는 두 가지 값을 나타냅니다. 생성자(new 연산자 사용)로 호출되면 Boolean()은 인수를 부울 값으로 변환하고 해당 값을 포함하는 부울 객체를 반환합니다. (new 연산자 없이) 함수로 호출되면 Boolean()은 단순히 인수를 기본 불리언 값으로 변환하고 값 인수가 생략되거나 0, -0, null, "", false로 설정된 경우 이 값을 반환합니다. 정의되지 않았거나 NaN이면 객체가 false로 설정됩니다. 그렇지 않으면 true로 설정됩니다(값 인수가 문자열 "false"인 경우에도 마찬가지).

부울 객체에는 toString 및 valueOf 메소드가 포함됩니다. 부울은 조건문에서 참 또는 거짓 값을 간단하게 판단하는 데 가장 자주 사용됩니다. 부울 값과 조건문의 조합은 JavaScript를 사용하여 논리를 생성하는 방법을 제공합니다.

숫자

Number 개체는 여러 읽기 전용 속성을 포함하는 숫자 래퍼입니다.

• POSITIVE_INFINITY:무한대 //양의 무한대

•NaN:NaN //숫자가 아님
Number 개체에는 값의 형식을 지정하거나 변환하는 데 사용할 수 있는 몇 가지 메서드도 있습니다

•toExponential //숫자의 문자열 표현을 지수 형식으로 반환
•toFixed //숫자를 지정된 소수 자릿수로 반올림
•toPrecision //객체의 값이 지정된 숫자를 초과하는 경우 숫자, 지수 표기법으로 변환됩니다.

•toString //숫자의 문자열 표현을 반환합니다

•valueOf //객체에서 상속됨
String

문자열 개체는 텍스트 값에 대한 래퍼입니다. String 개체에는 텍스트를 저장하는 것 외에도 텍스트에 대한 정보를 조작하거나 수집하는 속성과 다양한 메서드가 포함되어 있습니다. String 개체는 사용하기 위해 인스턴스화할 필요가 없습니다.

String 객체에는 문자열 길이를 반환하는 데 사용되는 읽기 전용 길이 속성만 있습니다. 문자열 객체에는 다양한 메소드가 있습니다

•charAt

•charCodeAt

•concat

•fromCharCode

•indexOf
•lastIndexOf
•일치
•교체
•검색
•슬라이스
•분할
•substr
•하위 문자열
•LowerCase
•toUpperCase


포장대상

JavaScript에는 위의 세 가지 객체 외에도 Date, Array, Math와 같은 내장 객체가 있으므로 이 세 가지는 자주 사용되므로 내장 객체에 대해 알고 나면 알 수 있습니다. 위의 예가 무엇인지 확인하세요. 문자열의 속성과 메서드가 참조되는 한 JavaScript는 새 문자열을 통해 문자열 값을 내장 개체 String으로 변환합니다. 참조가 끝나면 개체는 삭제됩니다. 따라서 위 코드는 실제로 String 객체의 length 속성과 indexOf 메서드를 사용하고 있습니다.

같은 이유로 숫자와 불리언 값도 비슷하게 처리됩니다. , null 및 undefound에는 해당 개체가 없습니다. 생성된 객체가 있는데 이렇게 하면 되는 걸까요

코드 복사

코드는 다음과 같습니다.var s='this is a string' ;s.len=10;
경고(s.len);



결과가 10이 아닌 정의되지 않은 결과가 반환되었습니다! 우리가 일치한다고 동의하지 않았나요? 방금 언급했듯이 코드의 두 번째 줄은 임시 String 객체만 생성한 다음 이를 삭제합니다. 코드의 세 번째 줄은 새로운 임시 객체를 생성합니다(이것이 낮은 버전의 IE가 문자열을 비효율적으로 처리하는 이유 중 하나입니다). len 속성이 없습니다. 생성된 임시 객체는 패키징 객체가 됩니다. 간단한 코드 줄에 이렇게 많은 제스처가 포함될 수 있을 것이라고는 예상하지 못했습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.