JavaScript 프로토 타입 확장 방법
-
05-07-2019 - |
문제
다음 확장 방법을 프로토 타입에 포함시켜야하는 프로토 타입 모델이 있습니다.
String.prototype.startsWith = function(str){
return (this.indexOf(str) === 0);
}
예 : [JS
sample = function() {
this.i;
}
sample.prototype = {
get_data: function() {
return this.i;
}
}
프로토 타입 모델에서는 연장 방법이나 다른 방법을 사용하여 JS 프로토 타입 모델에서 확장 방법을 생성하는 방법을 어떻게 사용할 수 있습니까?
해결책
문자열에서 새 메소드 호출 :
String.prototype.startsWith = function(str){
return (this.indexOf(str) === 0);
}
간단해야합니다.
alert("foobar".startsWith("foo")); //alerts true
두 번째 예제에서는 멤버 변수 "i"를 설정하는 생성자를 원한다고 가정합니다.
function sample(i) {
this.i = i;
}
sample.prototype.get_data = function() { return this.i; }
다음과 같이 사용할 수 있습니다.
var s = new sample(42);
alert(s.get_data()); //alerts 42
다른 팁
그래도 생성자 기능은 대문자로 시작해야합니다.
function Sample(i) {
this.i = i;
}
var s = new Sample(42);
이것이 얼마나 정확한지 확실하지 않지만이 코드를 시도하십시오. 그것은 나를 위해 IE에서 일했습니다.
JavaScript 파일 추가 :
String.prototype.includes = function (str) {
var returnValue = false;
if(this.indexOf(str) != -1){
returnValue = true;
}
return returnValue;
}
제휴하지 않습니다 StackOverflow