javascript - JS 개인 변수에 액세스할 수 없는 이유는 무엇입니까?
<code>function Customer(name) { var risk = 0; this.name = name; } var customer = new Customer("aa"); console.log(customer.name); // aa console.log(customer.risk); // undefined </code>
customer.risk에는 액세스할 수 없지만 customer.name에는 액세스할 수 있는 이유는 무엇입니까?
risk는 누구의 개인 변수입니까? 그렇다면 고객은 왜 자신의 개인 변수에 액세스할 수 없습니까?
답글 내용:
<code>function Customer(name) { var risk = 0; this.name = name; } var customer = new Customer("aa"); console.log(customer.name); // aa console.log(customer.risk); // undefined </code>
customer.risk에는 액세스할 수 없지만 customer.name에는 액세스할 수 있는 이유는 무엇입니까?
risk는 누구의 개인 변수입니까? 그렇다면 고객은 왜 자신의 개인 변수에 액세스할 수 없습니까?
이것은 사유재산이라고 부르는 것이 전혀 아닙니다. 이는 함수 내부에서 선언하는 변수일 뿐입니다. 속성이기 때문에 속성이 비공개인지 여부도 알 수 있습니다. 따라서 속성 자체에는 "그것이 누구에게 속해 있는가?"라는 질문이 있습니다. 생성자를 this.risk=0;으로 변경하면 여기에서 해당 속성의 소유자를 찾을 수 있습니다.
어떻게 그런 대답을 받아들일 수 있나요?
함수 생성자에서 var
을 사용하여 변수를 선언합니다. 이 변수는 클로저나 유사한 방법을 통해 노출되지 않으면 외부에서 액세스할 수 없습니다. 게다가 risk
은 customer
의 전용 변수가 아니고 customer
함수 객체와 관련이 있습니다. Customer
연산자를 사용하면 개체가 반환되고, 호출된 함수 생성자의 new
은 반환될 개체를 가리킵니다. 따라서 this
을 사용하여 선언한 속성은 반환된 개체에서 액세스할 수 있습니다. this
중. 이는 클로저가 함수이고 여기서는 객체라는 점을 제외하면 클로저와 다소 유사합니다. new
비공개 속성에 액세스할 수 있으면 비공개라고 부를 수 있다고 말씀하셨죠?

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











vue.js에서 bootstrap 사용은 5 단계로 나뉩니다 : Bootstrap 설치. main.js.의 부트 스트랩 가져 오기 부트 스트랩 구성 요소를 템플릿에서 직접 사용하십시오. 선택 사항 : 사용자 정의 스타일. 선택 사항 : 플러그인을 사용하십시오.

HTML은 웹 구조를 정의하고 CSS는 스타일과 레이아웃을 담당하며 JavaScript는 동적 상호 작용을 제공합니다. 세 사람은 웹 개발에서 의무를 수행하고 화려한 웹 사이트를 공동으로 구축합니다.

h5referstohtml5, apivotaltechnologyinwebdevelopment.1) html5introducesnewelements 및 dynamicwebapplications.2) itsupp ortsmultimediawithoutplugins, enovannangeserexperienceacrossdevices.3) SemanticLementsImproveContentsTructUreAndSeo.4) H5'Srespo

WebDevelopmentReliesonHtml, CSS 및 JavaScript : 1) HtmlStructuresContent, 2) CSSSTYLESIT, 및 3) JAVASCRIPTADDSINGINTERACTIVITY, BASISOFMODERNWEBEXPERIENCES를 형성합니다.

React는 JSX와 HTML을 결합하여 사용자 경험을 향상시킵니다. 1) JSX는 개발을보다 직관적으로 만들기 위해 HTML을 포함시킨다. 2) 가상 DOM 메커니즘은 성능을 최적화하고 DOM 운영을 줄입니다. 3) 유지 보수성을 향상시키기위한 구성 요소 기반 관리 UI. 4) 상태 관리 및 이벤트 처리는 상호 작용을 향상시킵니다.

PHP에서 최종 키워드는 클래스가 상속되고 메소드가 덮어 쓰는 것을 방지하는 데 사용됩니다. 1) 클래스를 최종적으로 표시 할 때는 수업을 상속받을 수 없습니다. 2) 메소드를 최종으로 표시 할 때는 메소드를 서브 클래스로 다시 작성할 수 없습니다. 최종 키워드를 사용하면 코드의 안정성과 보안이 보장됩니다.

"H5"와 "HTML5"는 대부분의 경우 동일하지만 특정 시나리오에서는 다른 의미를 가질 수 있습니다. "HTML5"는 새로운 태그와 API를 포함하는 W3C 정의 표준입니다. "H5"는 일반적으로 HTML5의 약어이지만 모바일 개발에서는 HTML5를 기반으로 한 프레임 워크를 참조 할 수 있습니다. 이러한 차이를 이해하면 프로젝트 에서이 용어를 정확하게 사용하는 데 도움이됩니다.

PHP의 미래는 새로운 기술 트렌드에 적응하고 혁신적인 기능을 도입함으로써 달성 될 것입니다. 1) 클라우드 컴퓨팅, 컨테이너화 및 마이크로 서비스 아키텍처에 적응, Docker 및 Kubernetes 지원; 2) 성능 및 데이터 처리 효율을 향상시키기 위해 JIT 컴파일러 및 열거 유형을 도입합니다. 3) 지속적으로 성능을 최적화하고 모범 사례를 홍보합니다.
