> 웹 프론트엔드 > JS 튜토리얼 > JavaScript가 객체의 속성 및 메소드 인스턴스를 추가, 수정 또는 삭제하는 방법에 대한 자세한 설명

JavaScript가 객체의 속성 및 메소드 인스턴스를 추가, 수정 또는 삭제하는 방법에 대한 자세한 설명

伊谢尔伦
풀어 주다: 2017-07-21 09:45:58
원래의
1871명이 탐색했습니다.

객체에 속성과 메서드를 추가, 수정, 삭제하는 방법을 소개합니다. 다른 언어에서는 객체가 생성되면 변경할 수 없습니다. 수정된 멤버를 객체에 추가하려면 해당 클래스에서 수정하고 다시 인스턴스화해야 하며 프로그램을 다시 컴파일해야 합니다. 이는 객체의 동작을 수정하는 유연한 메커니즘을 제공하고 속성과 메서드를 동적으로 추가, 수정 및 삭제할 수 있는 JavaScript의 경우에는 해당되지 않습니다. 예를 들어 먼저 Object 클래스를 사용하여 빈 개체 사용자

var user=new Object();
로그인 후 복사

1을 만듭니다. 속성 추가
현재 사용자 개체에는 속성과 메서드가 없으므로 분명히 쓸모가 없습니다. 그러나 속성과 메소드를 동적으로 추가할 수 있습니다. 예를 들면 다음과 같습니다.

user.name=”jack”;
user.age=21;
user.sex=”male”;
로그인 후 복사

위의 명령문을 통해 사용자 개체에는 이름, 나이, 성별이라는 세 가지 속성이 있습니다. 아래 세 가지 명령문을 출력합니다.

alert(user.name);
alert(user.age);
alert(user.sex);
로그인 후 복사

코드 실행 효과에서 세 가지 속성이 완전히 사용자 개체에 속한다는 것을 알 수 있습니다.

2. 메소드 추가
메소드를 추가하는 과정은 속성과 유사합니다:

user.alert=function(){
alert(“my name is:”+this.name);
}
로그인 후 복사

이것은 사용자 개체에 "alert" 메소드를 추가하면 대화 상자가 나타나 이름을 표시할 수 있습니다.

3 . 속성 수정

속성을 수정하는 프로세스는 이전 속성을 새 속성으로 바꾸는 것입니다. 예:

user.alert();
로그인 후 복사

이렇게 하면 사용자 개체의 이름 속성 값과 경고 방법이 "my"로 표시되는 것으로 변경됩니다. name is"를 사용하여 "hello"를 표시합니다.


4. 속성 삭제

속성을 삭제하는 과정도 매우 간단합니다. 정의되지 않음으로 설정하면 됩니다.

user.name=”tom”;
user.alert=function(){
alert(“hello,”+this.name);
}
로그인 후 복사

이렇게 하면 이름 속성과 경고 방법이 삭제됩니다. 코드 후반부에서는 이러한 속성을 사용할 수 없게 됩니다.

속성을 추가, 수정 또는 삭제할 때 참조 속성과 마찬가지로 대괄호([]) 구문을 사용할 수도 있습니다.


user.name=undefined;
user.alert=undefined;
로그인 후 복사

이 방법을 사용하는 추가 기능은 식별자가 아닌 문자열을 속성 이름으로 사용할 수 있다는 것입니다.

식별자는 숫자나 공백으로 시작할 수 없지만 대괄호([]) 구문으로 사용할 수 있습니다.


user[“name”]=”tom”;
로그인 후 복사

이러한 비식별자를 이름이 있는 속성으로 사용할 때는 여전히 사용해야 한다는 점에 유의해야 합니다. 인용할 대괄호 구문:

user[“my name”]=”tom”;
로그인 후 복사

이지만 다음과 같이 쓸 수는 없습니다:

alert(user[“my name”]);
로그인 후 복사

이 개체 속성을 사용하면 간단한 해시 테이블을 구현하는 것도 쉽습니다. 이 책의 뒷부분에서 해당 응용 프로그램에 대해 살펴보겠습니다. JavaScript의 모든 개체는 동적으로 가변적이므로 프로그래밍에 큰 유연성을 제공하며 독자는 이 속성을 이해할 수 있습니다.

위 내용은 JavaScript가 객체의 속성 및 메소드 인스턴스를 추가, 수정 또는 삭제하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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