2009-09-11 12 views
6

Tengo un modelo de prototipo donde necesito incluir los siguientes métodos de extensión en el prototipo:Javascript extensión prototipo método

String.prototype.startsWith = function(str){ 
    return (this.indexOf(str) === 0); 
} 

Ejemplo: [JS]

sample = function() { 
    this.i; 
} 

sample.prototype = { 
    get_data: function() { 
     return this.i; 
    } 
} 

En el modelo prototipo, ¿Cómo puedo usar los métodos de extensión o cualquier otra forma de crear métodos de extensión en el modelo de prototipo JS?

Respuesta

13

llamada al nuevo método de cadena:

String.prototype.startsWith = function(str){ 
    return (this.indexOf(str) === 0); 
} 

debería ser tan simple como:

alert("foobar".startsWith("foo")); //alerts true 

Para su segundo ejemplo, me supuesto de que desea un constructor que establece la variable miembro de la "i" :

function sample(i) { 
    this.i = i;  
} 

sample.prototype.get_data = function() { return this.i; } 

Usted puede utilizar esto como sigue:

var s = new sample(42); 
alert(s.get_data()); //alerts 42 
+0

tengo que añadir tha methos startsWith dentro del prototipo de la muestra .. HW hacer tat ... – Santhosh

+3

Lo sentimos, no seguro de entender lo que quieres, entonces no –

+0

prob thnk 4r ur help .. – Santhosh

1

Las funciones del constructor deben comenzar con mayúsculas.

function Sample(i) { 
    this.i = i;  
} 

var s = new Sample(42); 
0

No estoy seguro de qué tan correcto es esto, pero intente con este código. Funcionó en IE para mí.

Añadir en el archivo JavaScript:

String.prototype.includes = function (str) { 
    var returnValue = false; 

    if(this.indexOf(str) != -1){ 

     returnValue = true; 
    } 

    return returnValue; 
} 
Cuestiones relacionadas