웹 프론트엔드 JS 튜토리얼 Javascript 객체 지향 네임스페이스_js 객체 지향

Javascript 객체 지향 네임스페이스_js 객체 지향

May 16, 2016 pm 06:27 PM
네임스페이스 객체지향

자바스크립트에는 네임스페이스라는 개념이 없지만 객체지향적 개념을 반영하려면
도 java의 package와 마찬가지로 네임스페이스를 가지고 있어야 하며,
는 클래스 이름 충돌을 방지하기 위해 주로 사용됩니다. 동일한 클래스 이름은 다른 네임스페이스에 속해 있는 한 충돌하지 않습니다.
네임스페이스를 만드는 가장 간단한 방법:

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

var java = {};
java.util = {};
//네임스페이스가 성공적으로 생성되었습니다. java.util
//java 아래에 클래스(함수)와 속성을 추가할 수 있습니다. util 또는 객체
java.util.HashMap = function()
{
this.ShowMessage = function()
{
alert("java.util.HashMap")
}
}
var map = new java.util.HashMap();
alert(map.ShowMessage()); //결과 표시: java.util.HashMap
//생성 캡슐화 Space 메서드 이름 지정:
//객체 정의. js에서 객체를 정의하려면 var JsObject = new Object()
var JsObject = {}; .namespace = function () //JsObject 객체 아래에 함수 네임스페이스를 정의합니다.
{
//*다음 코드에서 인수는 함수가 매개변수를 명확하게 정의하지 않는 경우 전달되는 매개변수입니다.
 함수는 매개변수를 전달할 수도 있고 인수를 사용하여 수신할 수도 있습니다. 인수는 배열과 유사합니다.
여러 매개변수가 전달되면 순서대로 저장됩니다. 값 방법: 인수[0],arguments [1]....*/
var a = 인수 ,o = null,d,rt
for(var i = 0; i < a.length; i )
{
d = a[i].split('.'); // 들어오는 매개변수를 '.' 기호로 분할하여 d 배열에 넣습니다.
rt = d[0];
//배열의 첫 번째 값이 정의되지 않았는지 확인합니다. 정의되지 않은 경우 빈 객체 {}로 정의하고 변수 o
eval에 할당합니다. (' if (typeof ' rt ' == "정의되지 않음"){'
  rt ' = {};} o = ' rt ';') for(var j = 1; j < d. length; j )
 {
 /*배열 d의 각 값을 키로 반복하여 객체 o에 추가합니다. o에 키가 있으면
가 없으면 o의 중간 값을 가져옵니다. , 값을 빈 객체로 할당합니다. }
}
}
JsObject.namespace("org.myJs"); //네임스페이스 선언: org.myJs
org.myJs.Student = function() //아래에 클래스 정의 네임스페이스 org.myJs Student
{
   //Student 클래스에 변수를 정의하고 초기값을 할당하지만 이 변수에 대한 접근 권한은 공개입니다
this.studentNo = 's001'; >this.studentName = 'Xiao Ming';
this.sex = 'Male';
}
var s = new org.myJs.Student(); //Student 클래스 객체 생성
alert('학생 번호: ' s .studentNo);
alert('이름:' s.studentName)
alert('성별:' s.sex); 효과 및 첫 번째 기사 (1) javascript 경험 요약 객체 지향 - 클래스 결과는 동일합니다.
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Java에서 Jackson을 사용하는 @JsonIdentityInfo 주석의 중요성은 무엇입니까? Java에서 Jackson을 사용하는 @JsonIdentityInfo 주석의 중요성은 무엇입니까? Sep 23, 2023 am 09:37 AM

Java에서 Jackson을 사용하는 @JsonIdentityInfo 주석의 중요성은 무엇입니까?

Go의 객체 지향 프로그래밍 살펴보기 Go의 객체 지향 프로그래밍 살펴보기 Apr 04, 2024 am 10:39 AM

Go의 객체 지향 프로그래밍 살펴보기

PHP 고급 기능: 객체 지향 프로그래밍의 모범 사례 PHP 고급 기능: 객체 지향 프로그래밍의 모범 사례 Jun 05, 2024 pm 09:39 PM

PHP 고급 기능: 객체 지향 프로그래밍의 모범 사례

Go 언어의 객체지향적 특징 분석 Go 언어의 객체지향적 특징 분석 Apr 04, 2024 am 11:18 AM

Go 언어의 객체지향적 특징 분석

C# 개발 경험 공유: 객체 지향 프로그래밍 및 디자인 원칙 C# 개발 경험 공유: 객체 지향 프로그래밍 및 디자인 원칙 Nov 22, 2023 am 08:18 AM

C# 개발 경험 공유: 객체 지향 프로그래밍 및 디자인 원칙

Golang에 클래스와 유사한 객체지향 기능이 있나요? Golang에 클래스와 유사한 객체지향 기능이 있나요? Mar 19, 2024 pm 02:51 PM

Golang에 클래스와 유사한 객체지향 기능이 있나요?

PHP8의 새로운 기능 예: 네임스페이스와 코드를 사용하여 코드 구조를 더 잘 구성하는 방법은 무엇입니까? PHP8의 새로운 기능 예: 네임스페이스와 코드를 사용하여 코드 구조를 더 잘 구성하는 방법은 무엇입니까? Sep 11, 2023 pm 12:22 PM

PHP8의 새로운 기능 예: 네임스페이스와 코드를 사용하여 코드 구조를 더 잘 구성하는 방법은 무엇입니까?

Go의 제어 반전: 객체 지향 프로그래밍의 유연성 Go의 제어 반전: 객체 지향 프로그래밍의 유연성 Apr 08, 2024 am 09:21 AM

Go의 제어 반전: 객체 지향 프로그래밍의 유연성

See all articles