2009-09-11 7 views
6

プロトタイプの拡張:Javascriptを私はプロトタイプに次の拡張方法含める必要プロトタイプモデル有する方法

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

例: [JS]プロトタイプモデルにおいて

sample = function() { 
    this.i; 
} 

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

をどのように私はJSのプロトタイプモデルで拡張メソッドを作成するために、拡張メソッドまたは他の方法を使用することができます。文字列の新しいメソッドの呼び出し

答えて

13

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 
+0

iはサンプル試作品の内側股関節STARTSWITHのmethosを追加する必要が報復を行うには HWを – Santhosh

+3

申し訳ありませんが、私はあなたがして –

+0

望むものを理解していない無:

JavaScriptファイルに追加します。 prob thnk 4r urヘルプ.. – Santhosh

1

コンストラクタ関数は大文字で始まらなければなりません。

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

var s = new Sample(42); 
0

このコードの正確さは不明ですが、このコードを試してください。それは私のためにIEで働いた。 ... ..

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

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

     returnValue = true; 
    } 

    return returnValue; 
} 
関連する問題