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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

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

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

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

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

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

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

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


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

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

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

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

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
