2016-10-07 27 views
0

私はjavascriptを使い慣れていないので、私はここで何かが欠けていると確信していますが、私のグーグルは何かを上げていません。関数内でグローバル関数を呼び出す?

var addDate = function(image) { 

     // Get the name 
     var imName = image.get('system:index'); 

     //Convert name to date number 
     var imDate=imName; 
     var dateArray=imDate.split('-'); 
     var months = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; 
     if (imDate[1]<10) { 
      date[1]= imDate[1].slice(1); 
     } 
     var dateFormatted = months[date[1]] + ' ' + date[2] + ', ' + date[0]; 

     var dateNum = Date.parse(dateFormatted); 

     //set date in metadata 
     return image.set({properties: {date_range: dateNum}}); 
}; 

image_dated=addDate(image); 

私はエラーを取得する:

imDate.split is not a function 
    in addDate(), line 7 
    in <global>, line 20 

私はimNameは 'YYYY-DD-MM' フォーマットされた文字列を返すないことを確認しました。

ありがとうございました。

+1

はあなたが行う 'String.prototype'で始まる行を持っていない正常に動作していますか?そのように 'String'オブジェクトを壊すことは可能です。それはページリロードが修正されないことは何もないが、それがまだ残っていれば、あなたを混乱させ続けるだろう。ところで、コード自体はすべて正常に動作するので、その問題のためのその1つの機能を超えて調べる必要があります。 – LinuxDisciple

+0

return文の前に、この行を置いて出力を知ることができますか? 'console.log(typeof string)' – gurvinder372

答えて

0

String、Numberなどを使用しないでください。引数に別の名前を使用してください。たとえば、STR、numとなどについて

+0

このサウンドのアドバイスを拡張してください:Stringは静的な文字列オブジェクトです。それはStringクラスのために渡されます。だからあなたはその名前を変数として使用しません。 Number、Arrayなどと同じです。彼らはすべて大文字で始まることに注意してください。最初の文字が小文字(ラクダの 'c')で、大文字(Caseの場合は 'C')の各次の単語の最初の文字がcamelCaseの変数に名前を付けると、うまくいくでしょう。これらの変数の名前を変更していないため、これはあなたの問題とは関係ありません。 – LinuxDisciple

1

を使用すると、文字列変数のために定義された値を持っていないので、あなたの関数に値と次のパスを定義する必要があります:

var myFunction = function(string) { 
     return string.split('-'); 
} 

var string='1-2'; 
var myReturnedValud = myFunction(string); 

か、直接値を渡すなどパラメータ

var myReturnedValud = myFunction('1-2'); 

さらに、文字列や数字、またはjavascriptで使用される任意のタイプ名などの名前を使用しないでください。

var myFunction = function(str) { 
      return str.split('-'); 
    } 
0

私はFirefoxのコンソール上でこのコードを実行しているし、

var string='1-2'; 

var myFunction = function(string) { 
     return string.split('-'); 
} 

myFunction(string); 
関連する問題