웹 프론트엔드 JS 튜토리얼 JS 클래스 정의 프로토타입 method_js 객체 지향의 두 구현 간의 차이점에 대한 많은 의견이 있습니다.

JS 클래스 정의 프로토타입 method_js 객체 지향의 두 구현 간의 차이점에 대한 많은 의견이 있습니다.

May 16, 2016 pm 07:08 PM

우리는 JavaScript 클래스에 프로토타입 메소드를 추가하는 것이 매우 간단하다는 것을 알고 있습니다. 그리고 다음의 두 가지 방법이 공통적으로 사용되는데, 이 두 가지 방법을 사용하는데 있어서 차이점이 있나요?
JScript 클래스:

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

function JSClass( )
{ >

JSClass.prototype.MethodA = function()
{

}; 코드 복사


코드는 다음과 같습니다.


function = JSClass.prototype.MethodA()
{

};

# re: JS 클래스 정의 프로토타입 메서드의 두 구현 간의 차이점 답변 더 많은 댓글
먼저 간단한 차이점에 대해 이야기하겠습니다. 이 두 메서드로 가져온 프로토타입 메서드는 첫 번째 메서드가 익명 메서드입니다. 두 번째 메소드의 메소드 이름은 "JSClass.prototype.MethodA"입니다.
2005-03-01 10:52 |birdshome
# re: JS 클래스 정의 프로토타입 메서드의 두 구현 간의 차이점 답변 댓글 더보기
<script> function JSClass() <br>{ <br>} <br><br>function = JSClass.prototype.MethodA() <br>{ <br><br>} <br></script>

프롬프트 오류입니다.
2005-03-01 13:51 | 阮
# re: JS 클래스 정의 프로토타입 메서드의 두 구현 간의 차이점 답변 더 많은 댓글
희미합니다. FreeTextBox가 소량의 데이터를 수정하는 것으로 나타났습니다( 한두 글자 )제출이 효과가 없는 경우가 있습니다.(
실수로 "="를 추가로 썼는데 수정한 기억이 납니다.
2005-03-01 14:00 |birdshome
# re: JS 클래스 정의 프로토타입 메서드의 두 구현 간의 차이점 답변 더 많은 댓글
실제로 이 두 프로토타입 정의 메서드는 논의를 위해 단순화될 수 있습니다. 먼저 다음과 같이 두 함수로 처리합니다.
Foo1( );

function Foo1()
{
Alert('Foo1입니다.');
}
및 Foo2()
var Foo2 = function()
{
Alert('This is Foo2.');
}

당연히 첫 번째 실행 시에는 오류가 발생하지 않지만 두 번째 실행 시에는 문제가 발생합니다. 시간이 지나면 시스템은 다음과 같이 말합니다. Microsoft JScript 런타임 오류: 개체가 필요합니다. 이는 함수 정의(Foo1)가 스크립트 파서에서 가장 높은 초기화 우선 순위를 갖는다는 것을 의미합니다. 이는 함수가 먼저 처리되지 않으면 이해하기 쉽습니다. 함수 호출을 처리할 방법이 없습니다. 먼저 fn1()을 정의한 다음 fn1에서 fn2를 호출하면 Foo2가 초기화되지 않습니다. Foo2는 전혀 함수 정의가 아닙니다. Foo2(Foo2())를 표준 함수처럼 사용할 수 있는 이유는

2005-03-03 22: 17 |birdshome
# re: JS 클래스 정의 프로토타입 메서드의 두 구현 간의 차이점 답변 추가 댓글
프로토타입 메서드를 가져오는 두 가지 방법을 살펴보겠습니다. 매우 간단합니다. .또한 실행 우선순위에 따라 사용상의 차이가 결정됩니다.


실행:
new NormalClass(); 🎜> nc.Method1();
nc.Method2()

효과는 무엇인가요? 왜?


2005-03-03 22:21 |birdshome
# re: JS 클래스 정의 프로토타입 메소드의 두 구현 간의 차이점 답변 추가 댓글
최종 결과는 실제로 nc.Method1입니다. ()가 정의되어 있지 않으면 nc.Method2()가 정상적으로 실행됩니다.
사실 InnerClass.prototype.Method1 = function()이 할당 문의 실행에 의존하는 반면 function InnerClass.prototype.Method2()는 우선 순위가 가장 높은 스크립트 엔진에 의해 초기화된다는 것은 놀라운 일이 아닙니다.
2005-03-05 02:43 | Birdshome
# re: JS 클래스 정의 프로토타입 메서드의 두 구현 간의 차이점 답변 추가 댓글
Antechinus JavaScript Editor에서 코드를 테스트했습니다.

함수 InnerClass.prototype.Method2()는 오류를 보고합니다.

SyntaxError:missing( 형식 매개변수 이전 참조: .prototype.Method2(
2005-05-10 17:11 | 오류
# re: JS 클래스 정의 프로토타입 메서드의 두 가지 구현 간의 차이점 답변 추가 댓글
@Error
IE로 시도해 보셨나요?
2005-05-10 17:30birdshome
# re: JS 클래스 정의 프로토타입 메소드의 두 구현 간의 차이점 답변 추가 댓글
또한 FF를 사용할 때 동일한 오류가 발생합니다: 누락( 형식 매개변수 이전 참조: .prototype.Method2(
2006-08-19 22: 40 | jzz
# re: JS 클래스 정의 프로토타입 메서드의 두 구현 간의 차이점 답변 추가 댓글
return new InnerClass(); 이 줄을
function InnerClass.prototype.Method2()로 이동하세요.
{
alert(this.m_Property2);
};
다음 ie 실행은 정상입니다. FF 오류 보고: 형식 매개변수 이전 참조: .prototype.Method2(
ie 순차 실행 예, 하지만 NS 시리즈는 그렇지 않습니다!
FF가 InnerClass.prototype.Method2() 함수를 실행할 때 이 InnerClass 클래스가 있는지 전혀 모르므로 당연히 프로토타입 같은 것이 나오지 않습니다. 이유 없이 xxx
2006-11-13 00:57 | Doutu
# re: JS 클래스 정의 프로토타입 메서드의 두 구현 간의 차이점 답변 추가 댓글
@Doutu
Put return new InnerClass (); into function InnerClass.prototype.Method2() 메서드 이후에는 이 예제를 작성하려는 원래 의도를 완전히 위반합니다.이 예는 IE가 함수 정의 형식 function foo()에 대해 더 높은 구문 분석 우선순위를 갖는 반면 foo = function()은 일반적인 할당 문일 뿐임을 보여줍니다. ff의 상황에 대해서는 연구하지 않았습니다. ff가 반환 후 InnerClass를 찾을 수 없다고 말씀하셨기 때문에 순차 구문 분석 함수 foo()가 정의된 형식이라는 의미입니다.
2006-11-13 01:29 |birdshome
# re: JS 클래스 정의 프로토타입 메서드의 두 구현 간의 차이점 답변 댓글 더보기
한숨. 즉, 오직 사용할 수 있는 가난한 사람들. 함수 x.y.z() {}의 쓰기 방법은 단순히 비표준 쓰기 방법입니다. ff 또는 Opera와 같은 다른 js 엔진에서는 오류를 보고합니다. 표준을 충족하는 유일한 작성 방법은 x.y.z = function () {};

물론 문법적인 측면에서 볼 때 저는 이 작성 방법을 꽤 좋아하며 향후 표준에도 이 작성 방법이 채택되기를 바랍니다.
2006-11-28 11:04 | hax
# re: JS 클래스 정의 프로토타입 메서드의 두 구현 간의 차이점 답변 추가 댓글
ㅋㅋㅋ hax가 맞습니다. IE만이 엄마처럼 아이들의 온갖 실수를 용납할 수 있습니다

표준 쓰기 방법은 x.y.z = function() {}뿐입니다.

사실 IE는 더 이상한 쓰기 방법도 지원합니다.

이것을 보세요
함수 window::onload(){
alert("go_rush")
}
2006-11-28 14:39 | Go_Rush
# re: JS 클래스 정의 프로토타입 메서드의 두 구현 간의 차이점 답변 추가 댓글
@hax
표준이 아무리 훌륭하더라도 여전히 이에 대한 논쟁은 학계와 엔지니어 사이의 문제입니다. 잘 구현해보자. 우리만의 시스템이면 충분하다. 왜 굳이 신들과 싸워야 하는가.
// 귀하의 의견은 실제로 꽤 좋습니다. 윽 IE 때문에 안타깝네요~~
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 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를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

내 자신의 JavaScript 라이브러리를 어떻게 작성하고 게시합니까? 내 자신의 JavaScript 라이브러리를 어떻게 작성하고 게시합니까? Mar 18, 2025 pm 03:12 PM

기사는 JavaScript 라이브러리 작성, 게시 및 유지 관리, 계획, 개발, 테스트, 문서 및 홍보 전략에 중점을 둡니다.

브라우저에서 성능을 위해 JavaScript 코드를 최적화하려면 어떻게해야합니까? 브라우저에서 성능을 위해 JavaScript 코드를 최적화하려면 어떻게해야합니까? Mar 18, 2025 pm 03:14 PM

이 기사는 브라우저에서 JavaScript 성능을 최적화하기위한 전략에 대해 설명하고 실행 시간을 줄이고 페이지로드 속도에 미치는 영향을 최소화하는 데 중점을 둡니다.

프론트 엔드 열 용지 영수증에 대한 차량 코드 인쇄를 만나면 어떻게해야합니까? 프론트 엔드 열 용지 영수증에 대한 차량 코드 인쇄를 만나면 어떻게해야합니까? Apr 04, 2025 pm 02:42 PM

프론트 엔드 개발시 프론트 엔드 열지대 티켓 인쇄를위한 자주 묻는 질문과 솔루션, 티켓 인쇄는 일반적인 요구 사항입니다. 그러나 많은 개발자들이 구현하고 있습니다 ...

브라우저 개발자 도구를 사용하여 JavaScript 코드를 효과적으로 디버그하려면 어떻게해야합니까? 브라우저 개발자 도구를 사용하여 JavaScript 코드를 효과적으로 디버그하려면 어떻게해야합니까? Mar 18, 2025 pm 03:16 PM

이 기사는 브라우저 개발자 도구를 사용하여 효과적인 JavaScript 디버깅, 중단 점 설정, 콘솔 사용 및 성능 분석에 중점을 둡니다.

소스 맵을 사용하여 조정 된 JavaScript 코드를 디버그하는 방법은 무엇입니까? 소스 맵을 사용하여 조정 된 JavaScript 코드를 디버그하는 방법은 무엇입니까? Mar 18, 2025 pm 03:17 PM

이 기사는 소스 맵을 사용하여 원래 코드에 다시 매핑하여 미니어링 된 JavaScript를 디버그하는 방법을 설명합니다. 소스 맵 활성화, 브레이크 포인트 설정 및 Chrome Devtools 및 Webpack과 같은 도구 사용에 대해 설명합니다.

누가 더 많은 파이썬이나 자바 스크립트를 지불합니까? 누가 더 많은 파이썬이나 자바 스크립트를 지불합니까? Apr 04, 2025 am 12:09 AM

기술 및 산업 요구에 따라 Python 및 JavaScript 개발자에 대한 절대 급여는 없습니다. 1. 파이썬은 데이터 과학 및 기계 학습에서 더 많은 비용을 지불 할 수 있습니다. 2. JavaScript는 프론트 엔드 및 풀 스택 개발에 큰 수요가 있으며 급여도 상당합니다. 3. 영향 요인에는 경험, 지리적 위치, 회사 규모 및 특정 기술이 포함됩니다.

Chart.js : Pie, Donut 및 Bubble Charts를 시작합니다 Chart.js : Pie, Donut 및 Bubble Charts를 시작합니다 Mar 15, 2025 am 09:19 AM

이 튜토리얼은 Chart.js를 사용하여 파이, 링 및 버블 차트를 만드는 방법을 설명합니다. 이전에는 차트 유형의 차트 유형을 배웠습니다. JS : 라인 차트 및 막대 차트 (자습서 2)와 레이더 차트 및 극지 지역 차트 (자습서 3)를 배웠습니다. 파이 및 링 차트를 만듭니다 파이 차트와 링 차트는 다른 부분으로 나뉘어 진 전체의 비율을 보여주는 데 이상적입니다. 예를 들어, 파이 차트는 사파리에서 남성 사자, 여성 사자 및 젊은 사자의 비율 또는 선거에서 다른 후보자가받는 투표율을 보여주는 데 사용될 수 있습니다. 파이 차트는 단일 매개 변수 또는 데이터 세트를 비교하는 데만 적합합니다. 파이 차트의 팬 각도는 데이터 포인트의 숫자 크기에 의존하기 때문에 원형 차트는 값이 0 인 엔티티를 그릴 수 없습니다. 이것은 비율이 0 인 모든 엔티티를 의미합니다

초보자를위한 타이프 스크립트, 2 부 : 기본 데이터 유형 초보자를위한 타이프 스크립트, 2 부 : 기본 데이터 유형 Mar 19, 2025 am 09:10 AM

엔트리 레벨 타입 스크립트 자습서를 마스터 한 후에는 TypeScript를 지원하고 JavaScript로 컴파일하는 IDE에서 자신의 코드를 작성할 수 있어야합니다. 이 튜토리얼은 TypeScript의 다양한 데이터 유형으로 뛰어납니다. JavaScript에는 NULL, UNDEFINED, BOOLEAN, 번호, 문자열, 기호 (ES6에 의해 소개 됨) 및 객체의 7 가지 데이터 유형이 있습니다. TypeScript는이 기반으로 더 많은 유형을 정의 하며이 튜토리얼은이 모든 튜토리얼을 자세히 다룹니다. 널 데이터 유형 JavaScript와 마찬가지로 Null in TypeScript

See all articles