JavaScript 생성자와 인스턴스of, JSOO_javascript 기술의 행복한 적 한 쌍
적어도 JavaScriptOO를 시도하는 모든 프로그래머는 비즈니스 자체보다는 객체 지향 메커니즘의 시뮬레이션에 많은 에너지를 소비합니다.
이것은 Java, C, 심지어 Php 개발자에게도 상상할 수 없는 일입니다.
더 나쁜 점은 다음과 같습니다. OO를 시뮬레이션하는 것은 고급 JavaScript 프로그래머에게 사악한 매력을 가지고 있다는 것입니다.
이 작업을 수행하는 것은 비즈니스를 초월하기 때문에 IQ를 향상시킬 수 있는 새로운 프로그래밍 언어를 만드는 일종의 즐거움이 있습니다.
지난 몇 년 동안 모든 사람들은 자신의 웹사이트의 common.js를 프레임워크로 작성하고 싶었습니다. YUI, JQuery 등이 출시되기 전까지는
그러나 각 프레임워크는 다소 진정되었습니다. JavaScriptOO 시뮬레이션이 아직 도착하지 않았습니다.
세상에 불필요한 대군주가 없을 수도 있고, 아니면 모두가 JS2.0까지 기다려야 할 수도 있습니다.
새로운 방법이 있다면. 객체지향이라면 당연히 JavaScript가 있습니다. 측면이 매우 좋습니다.
function Person(name){
this.name = name;
}
var lenel = new person("lenel")
alert(lenel.constructor === Person);
alert(lenel instanceof Person === true);
alert(lenel instanceof Object === true);
지금까지 모든 것이 조화를 이루고 있습니다. 객체의 생성자는 말 그대로 생성자를 가리킵니다.
객체는 이를 생성한 Person의 인스턴스입니다.
JavaScript가 프로토타입을 제공하는 것과 마찬가지로 모든 객체는 Object의 인스턴스입니다. 메소드 구현 방법 확장 및 상속
};
이 정의 이후에는 모든 객체에 getName 메서드가 있습니다.
this.getName = function(){
return this.name;
}
하지만 접근 방식은 추가 성능 손실을 가져올 뿐만 아니라 전용 변수에 액세스할 수 있는 권한만 있는 것이 아닙니다.
프로토타입을 사용하여 작성하는 방식과도 다르지만 이것이 이 글의 초점은 아닙니다
}
Stuff.prototype = new Person();
var piupiu = new Stuff("piupiu", "007");
alert(piupiu.getName());
아주 좋습니다. getName 메소드를 상속합니다. >인스턴스 확인
코드 복사
매우 좋습니다. piupiu가 매우 Java와 관련되어 있음을 보여줍니다.
생성자를 살펴보겠습니다
코드 복사
new Stuff의 생성자가 왜 Person인지 의문이 생깁니다.
이것도 말도 안 되는 이유입니다. 결론을 기억해야 합니다
결론: 객체의 생성자 속성은 생성자를 가리키는 것이 아니라 객체 생성자의 프로토타입 속성의 생성자 속성을 가리킵니다.
여기에 넣으세요:
객체 piupiu의 생성자 속성은 해당 생성자의 프로토타입 속성인 생성자 속성을 가리킵니다 Stuff
Stuff.prototype = new Person();
그래서 Stuff.prototype.constructor === Person.
그래서 piupiu.consturctor === Person
위의 결론은 객체가 상속될 때만 나타나는 것이 아닙니다. , 객체를 정의할 때도
코드 복사
getName :function(){
return this.name; :함수(이름){
this.name = 이름
}
}
메서드가 많으면 이렇게 작성하는 경우가 더 규칙적으로 보입니다.
실제로 이런 작성 방식은 생성자를 희생하기도 합니다
var moen = new Student("moen")
alert(moen.constructor === Student) ;//false
alert( moen.constructor === Object);//true
{}는 new Object()와 동일하므로 위 결론에 따르면 프로토타입이 ={}, 생성자가 변경됩니다.
생성자를 보호합니다! 상속 시 루프를 사용하여 상위 클래스의 메서드를 하위 클래스에 복사합니다.
function Stuff1(name,id){
this.name = name; >}
for(var fn in Person.prototype){
Stuff1.prototype[fn] = Person.prototype[fn];
}
var piupiu1 = new Stuff1("piupiu1"," 008");
alert(piupiu1.getName() == = "piupiu1");
alert(piupiu1.constructor === Stuff1);
작동합니다! 행복하게 부모 클래스의 모든 메서드를 상속받으면 부모-자식 관계가 끊어집니다.
분명히 Stuff1이 Person으로부터 상속받았다고 말하지 않았는데, for 루프만 있다는 게 무슨 뜻일까요?
그래서. , 객체를 깊이있게 사용하면 조심하지 않아도 instantceof와 생성자가 문자 그대로의 의미를 잃게 됩니다.
따라서 프레임워크를 사용할 때 상속 기능이 제공되면 어떤 것을 사용하는지 알 수 없습니다.
그래서 OO를 시뮬레이션할 때는 이 두 리터럴에 대한 대안을 제공해야 합니다.
OO를 시뮬레이션하려면 속성이나 메서드 구현의 의미를 알아야 합니다. 이는 확실히 이 문제에 국한되지 않습니다. 하위 클래스 메서드에서 동일한 이름으로 부모 클래스의 메서드를 호출하는 것은 OO 언어의 일반적인 기능입니다.
JS도 기본적으로 매우 어렵습니다. 그러나 Base 라이브러리와 같이 신중하게 수행하면 사용하기가 더 자연스럽습니다.
물론, instanceof 및 생성자의 사용을 포기할 수 있으며, 그런 것이 있다는 것을 알면 됩니다. 그래도 일은 계속할 수 있고 아무도 죽지 않을 것입니다.
그러나 혼자 싸우는 것이 아니라면 파트너에게 이 두 명의 적들을 버리라고 알리십시오.
오늘의 요점과 유사하게 참전용사들은 이것을 잘 알고 있습니다. 그러나 팀의 모든 사람이 통일된 이해를 갖고 있지 않다면
흥미로운 현상은<

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

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

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

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

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

뜨거운 주제











WebSocket 및 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법 소개: 지속적인 기술 개발로 음성 인식 기술은 인공 지능 분야의 중요한 부분이 되었습니다. WebSocket과 JavaScript를 기반으로 한 온라인 음성 인식 시스템은 낮은 대기 시간, 실시간, 크로스 플랫폼이라는 특징을 갖고 있으며 널리 사용되는 솔루션이 되었습니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법을 소개합니다.

WebSocket과 JavaScript: 실시간 모니터링 시스템 구현을 위한 핵심 기술 서론: 인터넷 기술의 급속한 발전과 함께 실시간 모니터링 시스템이 다양한 분야에서 널리 활용되고 있다. 실시간 모니터링을 구현하는 핵심 기술 중 하나는 WebSocket과 JavaScript의 조합입니다. 이 기사에서는 실시간 모니터링 시스템에서 WebSocket 및 JavaScript의 적용을 소개하고 코드 예제를 제공하며 구현 원칙을 자세히 설명합니다. 1. 웹소켓 기술

JavaScript 및 WebSocket을 사용하여 실시간 온라인 주문 시스템을 구현하는 방법 소개: 인터넷의 대중화와 기술의 발전으로 점점 더 많은 레스토랑에서 온라인 주문 서비스를 제공하기 시작했습니다. 실시간 온라인 주문 시스템을 구현하기 위해 JavaScript 및 WebSocket 기술을 사용할 수 있습니다. WebSocket은 TCP 프로토콜을 기반으로 하는 전이중 통신 프로토콜로 클라이언트와 서버 간의 실시간 양방향 통신을 실현할 수 있습니다. 실시간 온라인 주문 시스템에서는 사용자가 요리를 선택하고 주문을 하면

WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법 오늘날의 디지털 시대에는 점점 더 많은 기업과 서비스에서 온라인 예약 기능을 제공해야 합니다. 효율적인 실시간 온라인 예약 시스템을 구현하는 것이 중요합니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. WebSocket이란 무엇입니까? WebSocket은 단일 TCP 연결의 전이중 방식입니다.

JavaScript 및 WebSocket: 효율적인 실시간 일기 예보 시스템 구축 소개: 오늘날 일기 예보의 정확성은 일상 생활과 의사 결정에 매우 중요합니다. 기술이 발전함에 따라 우리는 날씨 데이터를 실시간으로 획득함으로써 보다 정확하고 신뢰할 수 있는 일기예보를 제공할 수 있습니다. 이 기사에서는 JavaScript 및 WebSocket 기술을 사용하여 효율적인 실시간 일기 예보 시스템을 구축하는 방법을 알아봅니다. 이 문서에서는 특정 코드 예제를 통해 구현 프로세스를 보여줍니다. 우리

JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법, 특정 코드 예제가 필요합니다. 서문: 웹 개발에서는 서버와의 데이터 상호 작용이 종종 포함됩니다. 서버와 통신할 때 반환된 HTTP 상태 코드를 가져와서 작업의 성공 여부를 확인하고 다양한 상태 코드에 따라 해당 처리를 수행해야 하는 경우가 많습니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법과 몇 가지 실용적인 코드 예제를 제공합니다. XMLHttpRequest 사용

사용법: JavaScript에서 insertBefore() 메서드는 DOM 트리에 새 노드를 삽입하는 데 사용됩니다. 이 방법에는 삽입할 새 노드와 참조 노드(즉, 새 노드가 삽입될 노드)라는 두 가지 매개 변수가 필요합니다.

JavaScript는 웹 개발에 널리 사용되는 프로그래밍 언어인 반면 WebSocket은 실시간 통신에 사용되는 네트워크 프로토콜입니다. 두 가지의 강력한 기능을 결합하면 효율적인 실시간 영상 처리 시스템을 만들 수 있습니다. 이 기사에서는 JavaScript와 WebSocket을 사용하여 이 시스템을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 첫째, 실시간 영상처리 시스템의 요구사항과 목표를 명확히 할 필요가 있다. 실시간 이미지 데이터를 수집할 수 있는 카메라 장치가 있다고 가정해 보겠습니다.
