찾다
웹 프론트엔드JS 튜토리얼JavaScript의 객체 지향 프로그래밍에 대한 간략한 토론

이 글은 주로 JavaScript 객체 지향 프로그래밍에 대한 관련 정보를 보여줍니다. 도움이 필요한 친구들이 참고할 수 있습니다.

ECMA-262는 객체를 다음과 같이 정의합니다. "속성에 기본 값, 객체 또는 기능이 포함될 수 있는 순서가 지정되지 않은 속성의 모음"

객체를 이해하는 가장 쉬운 방법은 객체 인스턴스를 생성하는 것입니다. , 속성과 메소드를 추가하세요

var person = new Object();
person.name = "Xulei";
person.age = "23";
person.job = "前端工程师";
person.sayName = function () {
    alert(this.name);
}

다음과 같이 작성할 수도 있습니다

var person = {
     name: "xulei",
     age: 23,
     job: "前端工程",
     sayName: function () {
          alert(this.name)
     }
}

속성 유형: 데이터 속성 및 해당 속성에 액세스

1. 데이터 속성에는 해당 동작을 설명하는 4가지 특성이 있습니다.

[구성 가능]: 삭제를 통해 속성을 재정의할 수 있는지 여부를 나타냅니다. 수정 가능 여부 속성의 특성 또는 속성을 접근자 속성으로 수정할 수 있는지 여부, 기본값은 true입니다.
[Enumerable]: for-in을 통해 속성을 반환할 수 있는지 여부를 나타냅니다. 값은 true입니다.
[쓰기 가능]: for-in을 통해 속성을 반환할 수 있는지 여부를 나타내며, 기본값은 true입니다.
[값]: 포함합니다. 이 속성의 데이터 값입니다. 기본값은 정의되지 않습니다.

var person = {
      name: "xulei"
}

여기서 person 객체가 생성되고 값은 "xulei"입니다.

속성의 기본 특성을 수정하려면 ECMAScript5의 Object.defineProperty( 속성 위치, 속성의 이름, 설명자 개체)
설명자 개체는 구성 가능, 열거 가능, 쓰기 가능, 값이어야 합니다

var peron = {}
        Object.defineProperty(peron, "name", {
            writable: false,//属性不能被修改
            value: "徐磊-xulei"
        });

        alert(peron.name);//徐磊-xulei
        peron.name = "徐磊";
        alert(peron.name);//徐磊-xulei

위 작업은 비엄격 모드 할당 작업에서 무시되며, 엄격 모드 예외가 발생합니다

속성이 구성 불가능으로 정의되면 다시 구성 가능으로 변경할 수 없습니다.

대부분의 경우 Object.defineProperty() 메서드에서 제공하는 이러한 고급 기능을 활용할 필요는 없습니다. 하지만 자바스크립트를 이해하는 데는 매우 유용합니다.

IE8에서는 이 방법을 사용하지 않는 것이 좋습니다.

2. 해당 속성에 액세스하면 4가지 특성이 있습니다.

[구성 가능]: 속성을 재정의하기 위해 삭제하여 속성을 삭제할 수 있는지 여부, 속성의 특성을 수정할 수 있는지 여부를 나타냅니다. 또는 속성을 변경할 수 있는지 여부 접근자 속성으로 수정, 기본값은 true입니다.
[Enumerable]: for-in을 통해 속성을 반환할 수 있는지 여부를 나타냅니다. 기본값은 true입니다. 읽을 때 호출되는 함수
[Set]: 속성을 쓸 때 호출되는 함수입니다.

위 내용은 이 장의 전체 내용입니다. 더 많은 관련 튜토리얼을 보려면

JavaScript 비디오 튜토리얼을 방문하세요.

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
es6数组怎么去掉重复并且重新排序es6数组怎么去掉重复并且重新排序May 05, 2022 pm 07:08 PM

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

JavaScript的Symbol类型、隐藏属性及全局注册表详解JavaScript的Symbol类型、隐藏属性及全局注册表详解Jun 02, 2022 am 11:50 AM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

原来利用纯CSS也能实现文字轮播与图片轮播!原来利用纯CSS也能实现文字轮播与图片轮播!Jun 10, 2022 pm 01:00 PM

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

JavaScript对象的构造函数和new操作符(实例详解)JavaScript对象的构造函数和new操作符(实例详解)May 10, 2022 pm 06:16 PM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

JavaScript面向对象详细解析之属性描述符JavaScript面向对象详细解析之属性描述符May 27, 2022 pm 05:29 PM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

javascript怎么移除元素点击事件javascript怎么移除元素点击事件Apr 11, 2022 pm 04:51 PM

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

整理总结JavaScript常见的BOM操作整理总结JavaScript常见的BOM操作Jun 01, 2022 am 11:43 AM

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

foreach是es6里的吗foreach是es6里的吗May 05, 2022 pm 05:59 PM

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

뜨거운 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.