JavaScript의 유연성으로 인해 모든 사람은 기능적 프로그래밍 방법에 따라 코드를 작성할 수 있으며 객체 지향의 출현으로 인해 더 넓은 범위가 있습니다. 점차적으로 시작되었습니다. 이제 클래스 프로그래밍 방법으로 진화했습니다.
1. 물체 문자 :
다음은 인용 된 내용입니다. var person = { |
JavaScript 기능이있는 프로그래밍 방법은 클래스 단위에 속성 이름, 메소드 SetName 및 GetName을 포함합니다. 개인이 아니며 호출 할 수 있습니다.
2. 프로토 타입 생성자 호출 모드
다음은 인용 된 내용입니다. var person = function () { |
또한 매우 일반적인 프로그래밍 방법입니다. 그런 다음 프로토 타입을 사용하여 클래스를 확장 하고이 클래스의 메소드를 호출 할 때 (Java Calling과 유사합니다. Class). var p = person (); 오류는 Person.Prototype을 가리키는 것에서 발생하며 사람에게는 setName 메소드가 없습니다.
3. 익명 함수를 사용하여 프로그램 기능을 사용하십시오
다음은 인용 된 내용입니다. (기능(){ |
클래스의 출현의 가장 큰 이점 중 하나는 글로벌 변수의 출현을 줄이지 만 여전히 기능 프로그래밍에 익숙하다면 익명의 기능을 만들고 클로저를 수행하면 프로그래밍 할 수 있습니다. 내부 기능은 전역 변수의 출현에 대해 걱정할 필요가 없습니다. var 이름은 익명의 기능을 사용하여 내부 기능 또는 변수를 호출 할 수 있습니다 그리고 개인 방법.
4. 클래식 프로그래밍 (이름이 무엇인지 모르겠습니다)
다음은 인용 된 내용입니다. var person = function () { |
객체 리터럴과 매우 유사하지만 차이점은 이것을 제외하고 개인 방법과 속성이 기본적으로 객체 리터럴과 동일하다는 것입니다.
5. 방법 체인
다음은 인용 된 내용입니다. var person = function () { |
jQuery는 가장 고전적인 메소드 링크 라이브러리입니다. 메소드 링크가 무엇인지 모르면이 예를 살펴보십시오.
다음은 인용 된 내용입니다. var p = 새로운 사람 (); |
각 방법의 끝이 반환되므로, 메소드 쇄가 생성됩니다.
나는이 방법에 대해 더 잘 알고 있으므로 방법은 끝이 없지만 다음과 같은 문제를 논의하고 싶습니다.
1.이 포인터에 대해
이것은 다양한 유형을 만들 때 사용되지만 실제로는 재사용 및 상속에 큰 역할을합니다.
먼저 사람 수업을 만듭니다.
다음은 인용 된 내용입니다. var person = function () { |
그런 다음 어린이 수업을 만들고 사람의 모든 방법과 속성을 통합하십시오.
다음은 인용 된 내용입니다. var children = function (Age) { |
이것은 상속입니다. 그런 다음 간단한 기능 재사용을 살펴 보겠습니다.
다음은 인용 된 내용입니다. var setColor = function () { 이것의 기능을 본 후에는 이것에 대한 새로운 이해가 있어야합니다. var setColor = { |
수업 시간에 이것은 두 곳을 가리키며 때로는 사람들이 혼란스러워하며 코드를 작성하는 방법을 약간 변경합니다.
다음은 인용 된 내용입니다. var setColor = { |
이런 식으로 코드는 더 명확해질 수 있습니다. 따라서 코드를 작성할 때는 재사용 할 수 있는지 여부를 고려해야합니다. 가능한 한 더 일반적인 문제가 있습니다.
다음은 인용 된 내용입니다. var person = function () { |
앞서 언급 한 바와 같이, var p = new person ()로 작성하지 않으면이 클래스에서 직접 가리 킵니다. 오류를보고합니다. 때로는 두통이 발생할 수 있습니다.
2. 클래스 캡슐화
Java에서는 클래스의 방법이나 속성을 비공개로 설정할 수 있으므로 외부 호출을 피할 수 있습니다.
다음은 인용 된 내용입니다. var person = { |
이 클래스에는 Init와 SetName과 같은 두 가지 방법이 있습니다.
person.setname ( 'tom');
SetName 메소드를 직접 호출하십시오. SetName 메소드가 비공개이고 다른 프로그래머가 클래스를 사용할 때 호출하지 않는 메소드를 피하십시오.
수업을 어떻게 포장해야합니까?
다음은 인용 된 내용입니다. var person = function () { |
이런 식으로, 우리는 원래 민영화 된 방법과 속성이 민영화되어 있다고 말할 수 있으며, 외부는 직접 호출 할 수 없지만이 프로그래밍 방법을 사용하여 문제를 해결하는 데 필요한 방법입니다 특히 초보자에게는 읽기가 쉽지 않습니다.
좋아, 지금은 모두 폐쇄와 범위에 대해 이야기 할 시간이 있습니다.