찾다
컴퓨터 튜토리얼컴퓨터 지식JavaScript는 클릭으로 호출할 수 있는 hide-like 메소드를 어떻게 정의합니까?

javascript는 hide에 의해 호출될 때와 유사한 클릭 메서드를 어떻게 정의합니까? 프로토타입 방법. . . . 프로토타입

예를 들어 Array

배열에 대한 함수를 정의해 보세요.

Array.prototype.in_array = 함수($string) { for (var i = 0; i {

for (i = 0; i 참을 반환합니다;

}

}

거짓 반환;

}

전화만 하시면 됩니다

var a = 새 배열('a');

a.in_array('a');

존재하는지 확인하세요

예: 문자열

String.prototype.trim = 함수()

{

return this.replace(/^s*|s*$/g, '');

}

전화만 하시면 됩니다

var a = 'abcdefg';

a.trime();

이렇게 하면 양쪽 공백이 제거됩니다

사용자 정의 함수도 마찬가지입니다. 먼저 함수를 만들고 프로토타입을 사용하여 함수를 추가하세요.

JavaScript에서 객체를 정의하는 방법은 무엇인가요

Javascript 객체를 정의하는 다양한 방법

1. 팩토리 메소드: 먼저 객체를 생성한 다음 객체에 메소드와 속성을 추가합니다. 클로저 후에는 new 연산자를 사용하여 객체를 생성하지 마세요. 이 접근 방식에는 팩토리 함수 내에서 메서드를 정의할 때와 같은 몇 가지 단점이 있지만 호출될 때마다 새 함수가 생성됩니다.

기능 팩토리(이름, 사람, 주소, 시간){

var tmp=새 개체;

tmp.name=이름;

tmp.person=사람;

tmp.address=주소;

tmp.workTime=function(){

alert("우리가 일을 시작하는 시간은" + 시간);

}

tmp 반환;

}

var Factory1 = Factory("마약", 100, "Huashan Rd", 10);

var Factory2 = Factory("TCMdrugs", 100, "hongqiao Rd", 11);

factory1.workTime();

factory2.workTime();//여기서 Factory1과 Factory2는 서로 다른 메소드를 가지고 있습니다

이 문제는 다음과 같은 방법으로 개선될 수 있지만 캡슐화가 부족합니다

기능 팩토리(이름, 사람, 주소, 시간){

var tmp=새 개체;

tmp.name=이름;

tmp.person=사람;

tmp.address=주소;

tmp.workTime=workTime();

tmp 반환;

}

workTime() 함수{

alert("우리가 일을 시작하는 시간은" + this.time);

}

2. 생성자 메서드는 생성자 내부에서 this 키워드를 사용하여 객체를 생성하는 것을 의미하며, 이를 사용할 때는 new 연산자를 통해 인스턴스화해야 합니다. 그러나 이 메소드 역시 팩토리 메소드와 동일한 문제점을 가지고 있는데, 생성자가 호출될 때마다 새로운 함수 객체가 생성되어 함수 생성이 반복된다는 점이다.

함수 구성(이름, 사람, 주소, 시간) { //여기에 코드 로직을 작성하세요. }

this.name=이름;

this.person=사람;

this.address=주소;

this.workTime=function(){

alert("우리가 일을 시작하는 시간은" + this.time);

};

}

3. 프로토타입 속성을 사용하여 속성과 메소드를 구현하면 인스턴스 오브를 통해 객체 유형을 확인할 수 있어 반복적으로 함수를 생성하는 문제를 해결할 수 있습니다. 그러나 매개변수를 전달하여 속성을 초기화할 수는 없다는 점에 유의해야 합니다.

기능 자동차(){

}

Car.prototype.color = "빨간색";

Car.prototype.doors = 4;

Car.prototype.mpg = 23;

Car.prototype.showColor = function() {

경고(this.color);

};

var car1 = 새 자동차();

var car2 = 새 자동차();

그런데 다음과 같은 상황이 발생하면 또 문제가 발생합니다

Car.prototype.drivers = ["mike", "sue"];

car1.drivers.push("매트");

alert(car1.drivers); //"mike,sue,matt" 출력

alert(car2.drivers); // "mike, sue, matt" 출력

drivers는 Array 객체에 대한 포인터이며 Car의 두 인스턴스는 모두 동일한 배열을 참조합니다.

4. 혼합 생성자/프로토타입 방법: 프로토타입 방법에 대한 솔루션

기능 자동차(sColor, iDoors, iMpg) { this.color = sColor; this.doors = iDoors; this.mpg = iMpg; }

this.color = sColor;

this.doors = iDoors;

this.mpg = iMpg;

this.drivers = ["마이크", "수"];

}

Car.prototype.showColor = 함수() { // 귀하의 코드 }

경고(this.color);

};

var car1 = new Car("빨간색", 4, 23);

var car2 = new Car("파란색", 3, 25);

car1.drivers.push("매트");

경고(car1.drivers);

경고(car2.drivers);

5. 동적 프로토타입 방법: 이는 이전 방법에서 발생하는 문제를 피하고 보다 친숙한 코딩 스타일을 제공하는 매우 권장되는 방법입니다.

기능 자동차(sColor, iDoors, iMpg) { this.color = sColor; this.doors = iDoors; this.mpg = iMpg; }

this.color = sColor;

this.doors = iDoors;

this.mpg = iMpg;

this.drivers = ["마이크", "수"];

if(Car.initialized 유형 == "정의되지 않음"){

Car.prototype.showColor = 함수() { // 귀하의 코드 }

경고(this.color);

};

Car.initialized = true;

}

}

var car1 = new Car("빨간색", 4, 23);

var car2 = new Car("파란색", 3, 25);

car1.drivers.push("매트");

경고(car1.drivers);

경고(car2.drivers);

6. 혼합 팩토리 방식: 팩토리 방식과 다소 유사하지만 인스턴스화에 new 키워드를 사용합니다. 팩토리 방식과 동일한 단점이 있지만 권장되지는 않습니다.

위 내용은 JavaScript는 클릭으로 호출할 수 있는 hide-like 메소드를 어떻게 정의합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 Excel办公网에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
Zlib1.dll이 누락되었거나 찾을 수 없습니까? 간단한 움직임으로 고정 -MinitoolZlib1.dll이 누락되었거나 찾을 수 없습니까? 간단한 움직임으로 고정 -MinitoolApr 16, 2025 am 12:52 AM

zlib1.dll은 무엇입니까? 어떤 사람들은 Zlib1.dll을 포함하는 응용 프로그램을 열려고 할 때 "zlib1.dll is missing"오류를 발견했습니다. 이러한 관련 오류를 해결하기 위해 Php.cn 웹 사이트 의이 기사는 귀하에게 몇 가지를 줄 수 있습니다.

Autofill이 Excel에서 작동하지 않습니까? 다음은 수정 사항입니다! - 미니 툴Autofill이 Excel에서 작동하지 않습니까? 다음은 수정 사항입니다! - 미니 툴Apr 16, 2025 am 12:51 AM

여러분 중 일부는 Autofill이 Excel에서 작동하지 않는다는 것을 알 수 있습니다. 그것에 대한 해결책을 제시 할 수 있습니까? 그렇지 않다면, 당신은 올바른 지점에 왔습니다. Php.cn 웹 사이트 의이 게시물은 Excel Autofill이 작동하지 않는 6 가지 방법을 제공합니다.

Windows 7 스타터 에디션 : 무엇입니까? 다운로드하는 방법? - 미니 툴Windows 7 스타터 에디션 : 무엇입니까? 다운로드하는 방법? - 미니 툴Apr 16, 2025 am 12:50 AM

Windows 7 스타터 에디션이란 무엇입니까? Windows 7 스타터 에디션의 한계는 무엇입니까? Windows 7 스타터 에디션 ISO를 얻는 방법은 무엇입니까? Php.cn 의이 게시물은 Windows 7 Starter Edition에 대한 자세한 정보를 제공합니다.

이 상단 가이드를 사용하여 앱을 Windows에서 다른 사용자로 실행합니다.이 상단 가이드를 사용하여 앱을 Windows에서 다른 사용자로 실행합니다.Apr 16, 2025 am 12:49 AM

앱을 실행할 때 현재 계정에서 로그인 한 다음 다른 계정에 로그인하여 계정을 변경하는 데 어려움을 겪고 있습니까? Php.cn은 Windows 10 및 Windows 11에서 앱을 다른 사용자로 실행하는 데 도움이되는 몇 가지 효과적인 방법을 수집했습니다.

수정 : Dropbox 파일을 다운로드하는 오류가있었습니다수정 : Dropbox 파일을 다운로드하는 오류가있었습니다Apr 16, 2025 am 12:48 AM

Windows에서 "Dropbox가 파일을 다운로드하는 오류가 발생했습니다"오류로 고통 받고 있습니까? 이제이 문제에 대한 몇 가지 유용한 솔루션을 얻으려면 php.cn이 제공 한이 게시물을 읽으십시오.

File Explorer에서 선택한 파일을 수정하는 5 가지 방법 -MinitoolFile Explorer에서 선택한 파일을 수정하는 5 가지 방법 -MinitoolApr 16, 2025 am 12:47 AM

"선택된 파일이 파일 탐색기에서 강조 표시되지 않는다"는 문제에 어려움을 겪고 있습니까? 그것을 고치는 방법을 알고 있습니까? 그렇지 않은 경우 Php.cn 에서이 게시물을 읽고 파일 탐색기에서 선택한 파일을 볼 수 있도록 몇 가지 실현 가능한 솔루션을 얻을 수 있습니다.

작업 표시 줄에서 누락 된 언어 표시 줄 수정 - 입증 된 가이드작업 표시 줄에서 누락 된 언어 표시 줄 수정 - 입증 된 가이드Apr 16, 2025 am 12:46 AM

다중 언어로 작업하면 언어 표시 줄이 필수적입니다. 작업 표시 줄에서 설정을 조정하여 입력 언어를 변경할 수 있습니다. 그러나 컴퓨터를 열 때 언어 막대는 언젠가 사라질 수 있습니다. 언어 막대를 고치는 방법

외부 드라이브를 안드로이드 폰이나 태블릿에 연결하는 방법은 무엇입니까? - 미니 툴외부 드라이브를 안드로이드 폰이나 태블릿에 연결하는 방법은 무엇입니까? - 미니 툴Apr 16, 2025 am 12:45 AM

외부 드라이브를 사용하여 휴대 전화의 스토리지를 확장하고 싶습니까? 이것을 할 수 있습니다. 이 PHP.CN 게시물은 외장 드라이브를 전화기에 연결하는 방법에 대한 안내서를 보여줍니다. 게다가 외부 드라이브에서 데이터를 복구 해야하는 경우 PHP를 사용해 볼 수 있습니다.

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

맨티스BT

맨티스BT

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

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

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

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경