>웹 프론트엔드 >JS 튜토리얼 >JavaScript의 세 가지 유형의 객체는 무엇입니까?

JavaScript의 세 가지 유형의 객체는 무엇입니까?

青灯夜游
青灯夜游원래의
2021-06-15 16:40:573423검색

JavaScript의 세 가지 유형의 객체: 1. Array, Boolean, Data, Math, Number, Object, RegExp, String 객체 등과 같은 내부(집합) 객체 2. JavaScript에서 제공하는 객체인 호스트 객체 JS 스크립트를 실행하는 환경 3. 사용자 정의 개체.

JavaScript의 세 가지 유형의 객체는 무엇입니까?

이 튜토리얼의 운영 환경: windows7 시스템, javascript 버전 1.8.5, Dell G3 컴퓨터

JS 세 가지 개체

JS에서 개체는 "내부 개체", " 호스트 개체" 및 "사용자 정의 개체"에는 세 가지 유형이 있습니다.

그림에 표시된 대로:

내부 개체

⑴숫자 개체

⑵수학: 내장 개체

수학 객체 속성

properties Description
E 자연 로그(대략 2.718과 동일)의 밑인 산술 상수 e를 반환합니다.
LN2 2의 자연 로그를 반환합니다(대략 0.693과 동일).
LN10 10의 자연 로그(약 2.302)를 반환합니다.
LOG2E e의 밑이 2인 로그(약 1.4426950408889634)를 반환합니다.
LOG10E e의 밑이 10인 로그를 반환합니다(대략 0.434와 동일).
PI pi를 반환합니다(대략 3.14159와 동일).
SQRT1_2 2의 제곱근의 역수를 반환합니다(대략 0.707과 동일).
SQRT2 2의 제곱근(약 1.414)을 반환합니다.

Math 객체 메서드

Method Description
abs(x) x의 절대값을 반환합니다.
acos(x) x의 아크코사인을 반환합니다.
asin(x) x의 아크사인을 반환합니다.
atan(x) x의 아크탄젠트를 -PI/2와 PI/2 라디안 사이의 값으로 반환합니다.
atan2(y,x) x축에서 점 (x,y)까지의 각도를 반환합니다(-PI/2와 PI/2 라디안 사이).
ceil(x) 로그를 반올림합니다.
cos(x) 은 숫자의 코사인을 반환합니다.
exp(x) Ex의 지수를 반환합니다.
floor(x) x를 내림합니다.
log(x) 숫자(밑 e)의 자연 로그를 반환합니다.
max(x,y,z,...,n) x,y,z,...,n 중에서 가장 높은 값을 반환합니다.
min(x,y,z,...,n) x,y,z,...,n 중에서 가장 낮은 값을 반환합니다.
pow(x,y) x의 y제곱을 반환합니다.
random() 0~1 사이의 난수를 반환합니다.
round(x) 올림.
sin(x) 숫자의 사인을 반환합니다.
sqrt(x) 숫자의 제곱근을 반환합니다.
tan(x) 각도의 탄젠트를 반환합니다.

⑶부울 객체

부울 객체 속성

Properties Description
constructor 부울 함수
prototype 객체에 대한 속성과 메소드.

Boolean 객체 메소드

Method Description
toString() Boolean 값을 문자열로 변환하여 결과를 반환합니다.
valueOf() 부울 객체의 원래 값을 반환합니다.

⑷String 객체

String 객체 속성

property description
constructor 생성 객체의 함수에 대한 참조
length 자 문자열의 길이
prototype 을 사용하면 객체
에 속성과 메서드를 추가할 수 있습니다.

String 객체 메소드

Method Description
charAt() 지정된 위치의 문자를 반환합니다.
charCodeAt() 지정된 위치에 있는 문자의 유니코드 인코딩을 반환합니다.
concat() 두 개 이상의 문자열을 연결하고 새 문자열을 반환합니다.
fromCharCode() 유니코드 인코딩을 문자로 변환합니다.
indexOf() 지정된 문자열 값이 문자열에서 처음 나타나는 위치를 반환합니다.
includes() 지정된 하위 문자열이 문자열에 포함되어 있는지 확인합니다.
lastIndexOf() 문자열을 뒤에서 앞으로 검색하고 시작 위치(0)부터 시작하여 반환된 문자열이 마지막으로 나타나는 위치를 계산합니다.
match() Find는 하나 이상의 정규 표현식과 일치하는 항목을 찾습니다.
repeat() 문자열을 지정된 횟수만큼 복사하고 연결하여 반환합니다.
replace() 문자열에서 일치하는 하위 문자열을 찾아 정규식과 일치하는 하위 문자열을 바꿉니다.
search() 정규 표현식과 일치하는 값을 찾습니다.
slice() 문자열의 일부를 추출하고 추출된 부분을 새 문자열로 반환합니다.
split() 문자열을 문자열 배열로 분할합니다.
startsWith() 문자열이 지정된 하위 문자열로 시작하는지 확인하세요.
substr() 문자열의 시작 인덱스 번호부터 지정된 수의 문자를 추출합니다.
substring() 문자열에서 지정된 두 색인 번호 사이의 문자를 추출합니다.
toLowerCase() 문자열을 소문자로 변환합니다.
toUpperCase() 문자열을 대문자로 변환합니다.
trim() 문자열 양쪽 공백을 제거하세요
toLocaleLowerCase() 로컬 호스트 로케일에 따라 문자열을 소문자로 변환하세요.
toLocaleUpperCase() 로컬 호스트의 로케일에 따라 문자열을 대문자로 변환합니다.
valueOf() 문자열 객체의 원래 값을 반환합니다.
toString() 문자열을 반환합니다.

⑸RegExp 객체

RegExp 객체 메소드

메소드 설명
compile 버전 1.5에서는 더 이상 사용되지 않습니다. 정규식을 컴파일합니다.
exec 문자열에 지정된 값을 검색합니다. 찾은 값을 반환하고 위치를 결정합니다.
test 문자열에 지정된 값을 검색합니다. true 또는 false를 반환합니다.
toString 정규 표현식의 문자열을 반환합니다.

정규 표현식을 지원하는 String 객체의 메서드

Method Description FF IE
search 값. 1 4
match 하나 이상의 정규 표현식과 일치하는 항목을 찾습니다. 1 4
replace 정규식과 일치하는 하위 문자열을 바꿉니다. 1 4
split 문자열을 문자열 배열로 분할합니다. 1 4

RegExp 객체 속성

property description
constructor 을 생성하는 함수를 반환합니다. 객체의 프로토타입.
global "g" 수식어가 설정되어 있는지 확인
ignoreCase "i" 수식어가 설정되어 있는지 확인
lastIndex 은 다음 경기의 시작 위치를 지정하는 데 사용됩니다.
multiline "m" 수정자가 설정되어 있는지 확인
source 정규 표현식의 일치 패턴을 반환

⑹전역: 내장 개체

자바스크립트 전역 속성

Property Description
Infinity 은 양의 무한대 값을 나타냅니다.
NaN 은 값이 숫자 값인지 여부를 나타냅니다.
undefine 은 정의되지 않은 값을 나타냅니다.

JavaScript 전역 함수

함수 설명
decodeURI() 인코딩된 URI를 디코딩합니다.
decodeURIComponent() 인코딩된 URI 구성 요소를 디코딩합니다.
encodeURI() 문자열을 URI로 인코딩합니다.
encodeURIComponent() 문자열을 URI 구성 요소로 인코딩합니다.
escape() 문자열을 인코딩합니다.
eval() JavaScript 문자열을 계산하고 이를 스크립트 코드로 실행합니다.
isFinite() 값이 유한수인지 확인합니다.
isNaN() 값이 숫자인지 확인합니다.
Number() 객체의 값을 숫자로 변환합니다.
parseFloat() 문자열을 구문 분석하고 부동소수점을 반환합니다.
parseInt() 문자열을 구문 분석하고 정수를 반환합니다.
String() 객체의 값을 문자열로 변환합니다.
unescape() escape()로 인코딩된 문자열을 디코딩합니다.

⑺Date 객체

Date 객체 속성

property description
constructor 이 개체를 생성한 날짜 함수에 대한 참조입니다.
prototype 을 사용하면 객체에 속성과 메서드를 추가할 수 있습니다.

Date 객체 메소드

Method Description
getDate() Date 객체에서 해당 월의 날짜(1 ~ 31)를 반환합니다.
getDay() Date 객체에서 요일(0~6)을 반환합니다.
getFullYear() Date 객체에서 연도를 4자리 숫자로 반환합니다.
getHours() Date 객체의 시간(0 ~ 23)을 반환합니다.
getMilliseconds() Date 객체의 밀리초(0 ~ 999)를 반환합니다.
getMinutes() Date 객체의 분(0 ~ 59)을 반환합니다.
getMonth() Date 객체에서 월(0 ~ 11)을 반환합니다.
getSeconds() Date 객체의 초 수(0 ~ 59)를 반환합니다.
getTime() 1970년 1월 1일 이후의 밀리초 수를 반환합니다.
getTimezoneOffset() 현지 시간과 그리니치 표준시(GMT) 사이의 분차를 반환합니다.
getUTCDate() Date 객체에서 표준시를 기준으로 해당 월의 일자(1 ~ 31)를 반환합니다.
getUTCDay() Date 객체에서 세계시를 기준으로 요일(0 ~ 6)을 반환합니다.
getUTCFulYear() 세계시를 기준으로 Date 객체에서 4자리 연도를 반환합니다.
getUTCHours() Date 객체의 시간(0 ~ 23)을 표준시에 따라 반환합니다.
getUTCMilliseconds() Date 객체의 밀리초(0 ~ 999)를 표준시에 따라 반환합니다.
getUTCMinutes() Date 객체의 분(0 ~ 59)을 표준시에 따라 반환합니다.
getUTCMonth() Date 객체에서 세계시를 기준으로 월(0 ~ 11)을 반환합니다.
getUTCSeconds() Date 객체의 초(0 ~ 59)를 표준시에 따라 반환합니다.
getYear() 은 더 이상 사용되지 않습니다. 대신 getFullYear() 메소드를 사용하십시오.
parse() 1970년 1월 1일 자정부터 지정된 날짜(문자열)까지의 밀리초 수를 반환합니다.
setDate() Date 객체에 해당 월의 특정 날짜(1~31)를 설정합니다.
setFullYear() Date 객체에 연도(4자리)를 설정합니다.
setHours() Date 객체에 시간(0~23)을 설정합니다.
setMilliseconds() Date 객체에 밀리초(0 ~ 999)를 설정합니다.
setMinutes() Date 객체에 분(0~59)을 설정합니다.
setMonth() Date 객체에 월(0~11)을 설정합니다.
setSeconds() Date 객체에 초(0~59)를 설정합니다.
setTime() setTime() 메서드는 Date 개체를 밀리초 단위로 설정합니다.
setUTCDate() Date 객체에 해당 월의 날짜(1~31)를 표준시에 맞춰 설정합니다.
setUTCFulYear() 표준시에 따라 Date 개체의 연도(4자리)를 설정합니다.
setUTCHours() Date 객체의 시간(0 ~ 23)을 표준시에 맞춰 설정합니다.
setUTCMilliseconds() Date 개체의 밀리초(0 ~ 999)를 표준시에 따라 설정합니다.
setUTCMinutes() Date 개체의 분(0 ~ 59)을 표준시에 따라 설정합니다.
setUTCMonth() Date 객체의 월(0 ~ 11)을 표준시에 맞춰 설정합니다.
setUTCSeconds() setUTCSeconds() 메서드는 세계시(UTC)에 따라 지정된 시간의 초 필드를 설정하는 데 사용됩니다.
setYear() 은 더 이상 사용되지 않습니다. 대신 setFullYear() 메소드를 사용하십시오.
toDateString() Date 객체의 날짜 부분을 문자열로 변환합니다.
toGMTString() 은 더 이상 사용되지 않습니다. 대신 toUTCString() 메서드를 사용하세요.
toISOString() ISO 표준을 사용하여 문자열의 날짜 형식을 반환합니다.
toJSON() 날짜 문자열을 JSON 데이터 형식으로 반환합니다.
toLocaleDateString() Date 객체의 날짜 부분을 현지 시간 형식에 따라 문자열로 변환합니다.
toLocaleTimeString() Date 객체의 시간 부분을 현지 시간 형식에 따라 문자열로 변환합니다.
toLocaleString() Date 객체를 현지 시간 형식에 따라 문자열로 변환합니다.
toString() 날짜 객체를 문자열로 변환합니다.
toTimeString() Date 객체의 시간 부분을 문자열로 변환합니다.
toUTCString()

표준시에 따라 날짜 객체를 문자열로 변환합니다.

예:

var today = new Date();var UTCstring = today.toUTCString();
UTC() 세계시를 기준으로 1970년 1월 1일부터 지정된 날짜까지의 밀리초 수를 반환합니다.
valueOf() Date 객체의 원래 값을 반환합니다.

⑻Object object

⑼Array object

⑽Function object

다양한 오류 클래스 개체:

⑴Error

⑵EvalError

⑶RangeError

⑷ReferenceError

⑸SyntaxError

⑹TypeError

JS 호스트 개체

⑴ 정의: 호스트 개체는 JS 스크립트를 실행하는 환경에서 제공하는 개체입니다.

⑵ 브라우저 개체: 웹 페이지에 포함된 JS의 경우 호스트 개체는 브라우저에서 제공하는 개체이므로 IE, Firefox 등의 브라우저에서 제공하는 개체와 같이 브라우저 개체라고도 합니다.

⑶ 참고: 브라우저마다 제공되는 호스트 개체가 다를 수 있습니다. 제공된 개체가 동일하더라도 구현 방법은 매우 다릅니다. 이로 인해 브라우저 호환성 문제가 발생하고 개발이 어려워집니다.

⑷ 호스트 개체의 예: 창, 탐색기, 문서 등

⑸ 브라우저 확장 개체: Active, XML, Debug, Script, VBArray 등

JS 사용자 정의 개체

⑴개체 리터럴 모드( 생성 JSON을 통한 개체)

단점: 동일한 인터페이스를 사용하여 많은 개체를 생성하면 중복 코드가 많이 생성됩니다.

⑵공장 모드.

①팩토리 패턴은 객체 생성문을 함수에 넣고, 매개변수를 전달하여 특정 객체를 생성하고, 최종적으로 생성된 객체를 반환하는 패턴입니다.

createPerson() 함수는 수신된 매개변수를 기반으로 필요한 모든 정보를 포함하는 Person 개체를 구성할 수 있습니다.

이 함수는 셀 수 없이 호출될 수 있으며, 매번 호출할 때마다 2개의 속성과 메서드가 포함된 개체를 반환합니다.

② 단점: 팩토리 패턴은 유사한 객체를 여러 개 만들 수 있지만 객체 식별 문제, 즉 객체의 유형을 아는 방법을 해결할 수 없습니다.

⑶ 생성자 패턴

① 단점: 생성자를 사용할 때의 주요 문제점은 각 인스턴스에서 각 메서드를 한 번 생성해야 한다는 것입니다.

②ECMAScript에서는 함수가 객체이므로 함수가 정의될 ​​때마다 객체가 인스턴스화됩니다.

3 즉, 생성자를 통해 인스턴스화된 여러 개체의 메서드는 여러 가지 다른 메서드이지만 내부 코드와 구현된 기능은 동일하므로 리소스 낭비가 발생합니다.

⑷프로토타입 패턴

①js에서 각 함수에는 프로토타입 객체라고 하는 객체를 가리키는 포인터인 프로토타입 속성이 있습니다.

②프로토타입 패턴을 사용하면 모든 인스턴스가 프로토타입 객체의 속성과 메서드를 공유할 수 있습니다. 즉, 생성자에서 객체 인스턴스의 정보를 정의할 필요가 없습니다.

3단점: 초기화 매개변수를 생성자에 전달하는 링크가 생략되므로 모든 인스턴스는 기본적으로 동일한 속성 값을 얻습니다.

프로토타입 패턴의 가장 큰 문제는 공유 특성에서 발생합니다. 프로토타입의 모든 속성은 여러 인스턴스에서 공유됩니다. 이러한 종류의 공유는 기능에 매우 적합합니다. 참조 유형을 포함하는 속성의 경우 문제가 더욱 두드러집니다.

IV 그러므로 프로토타입 모드는 단독으로 사용되는 경우가 거의 없습니다.

⑸생성자 패턴과 프로토타입 패턴의 결합

①생성자 패턴과 프로토타입 패턴의 결합은 사용자 정의 유형을 만드는 가장 일반적인 방법입니다.

②생성자 패턴은 인스턴스 속성을 정의하는 데 사용되며 프로토타입 패턴은 메서드 및 공유 속성을 정의하는 데 사용됩니다.

3 결과적으로 각 인스턴스는 인스턴스 속성의 자체 복사본을 갖게 되지만 동시에 메서드에 대한 참조를 공유하여 메모리를 최대한 절약합니다.

⑹기타 패턴

①동적 프로토타입 패턴: 생성자가 처음 호출될 때만 프로토타입 객체의 해당 속성에 메서드가 할당됩니다. 다른 예제는 생성자 패턴과 동일한 방식으로 처리됩니다.

②기생 생성자 패턴: 객체를 생성하는 코드를 캡슐화한 다음 새로 생성된 객체를 반환하고 여전히 new 연산자를 사용하여

를 호출합니다. ③물론 생성자 모드: 공용 속성 없음, 전용 변수 및 메서드만, 일부 get/set 메서드 Private 변수를 처리하기 위한 것입니다.


더 많은 프로그래밍 관련 지식을 보려면

프로그래밍 소개

를 방문하세요! !

위 내용은 JavaScript의 세 가지 유형의 객체는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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