Javascript의 참조 유형 전송에 대한 지식 포인트에 대한 간략한 요약

黄舟
풀어 주다: 2017-03-22 14:56:47
원래의
1207명이 탐색했습니다.

이번 글은 Javascript에서 전달하는 참조타입에 대한 지식포인트를 위주로 소개하고 있으니 필요하신 분들은 참고하시면 됩니다. 함께 살펴보세요.

JS의 어떤 유형이 참조 유형인가요?

객체 클래스 유형은 모두 참조 유형입니다.( function, array, date, regexp..)

어떤 유형의 JS가 값으로 전달되나요?

기본 유형은 모두 값으로 전달됩니다. 값으로 재복사를 의미합니다.

값 유형 변수를 참조 유형으로 전달하는 방법은 무엇입니까?

래핑하여 참조 유형을 사용할 수 있습니다. 기본 유형 Pass.

ECMAScript는 Boolean, String, Number의 세 가지 특수 참조 유형(기본 패키징 유형)을 제공합니다.

참조 유형과 기본 패키징 유형의 차이점: Object수명이 다릅니다.

코드 참조:

var str = "hello js"; 
var str2 = str.substring(2,5); 


// str2的形成 在JS内部是这样实现的.

var str = new String('hello js');
var str2 = str.substring(2,5);
str = null ;
로그인 후 복사

참조 유형의 메모리 할당

예: var o = {name: ‘kobe'};

스택: 힙에 있는 개체의 메모리 주소를 가리키는 포인터를 저장합니다. 포인터 핸들을 사용하여 힙에 있는 개체를 조작합니다.

==와 ===의 차이점을 이해하세요

“===” 엄격연산자

엄격 연산자의 연산 규칙:

1. 데이터 유형이 다름

두 값의 유형이 다른 경우 , 직접 false를 반환합니다.

2. 동일한 유형의 기본 데이터 유형(문자열, 부울, 숫자) 값이 같으면 true를 반환하고, 값이 다르면 false를 반환합니다.

3. 같은 유형의 복합 데이터 유형

두 개의 복합 유형(객체, 배열, 함수)의 데이터를 비교할 때 그 값이 같은지 비교하지 않습니다. , 그러나 동일한 개체를 가리키는지 여부를 비교합니다.

console.log( [1] === [1] ) // false
로그인 후 복사

4. 정의되지 않음 및 null

정의되지 않음 및 null은 그 자체와 동일합니다.

console.log( null === null ) // true
console.log( undefined === undefined ) // true
로그인 후 복사

"==" 항등 연산자

동등 연산자는 동일한 유형의 데이터를 비교할 때 완전 항등 연산자와 완전히 동일합니다.

다른 유형의 데이터를 비교할 때 항등 연산자는 먼저 데이터에 대해

유형 변환

을 수행한 후 엄격한 항등 연산자와 비교합니다. 유형 변환 규칙은 다음과 같습니다(다른 유형은 아래에서 논의됨):

1. 값은 모두 기본 유형입니다

원본 유형 데이터는
숫자형

다시 비교해 보세요.

2. 객체와 원시형 값의 비교 ​

객체(여기서는 숫자값과 함수를 포함한 일반화된 객체를 말한다)를 원시형과 비교할 때 type 값이 있으면 객체를 기본 유형 값으로 변환한 후 비교합니다.

3.미정의와 null

미정의와 null을 다른 종류의 값과 비교하면 결과는 false, 서로 비교하면 결과는 true

console.log( null == undefined ) // true
로그인 후 복사

4. 항등 연산자의 단점

항등 연산자의 숨겨진 유형 변환은 직관에 반하는 결과를 가져올 수 있습니다.

console.log( "" == "0" ) // false 
console.log( 0 == "" ) // true
console.log( 0 == "0" ) // true
console.log( false == "false" ) // false
console.log( false == "0" ) // true
로그인 후 복사

다른 하나는 undefine과 관련된

조건부 판단

으로, undefine과 null의 조건부 판단이 코드에 영향을 미칠 수 있습니다.

var a = undefined;
if(!a){
 console.log("1"); //1
}

var a = undefined;
if(a === null){
 console.log("1"); //无输出
}
로그인 후 복사
요약

위 내용은 Javascript의 참조 유형 전송에 대한 지식 포인트에 대한 간략한 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!