在函数内调用全局函数?

时间:2016-10-07 05:00:23

标签: javascript

我是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'的字符串。

感谢您的帮助。

3 个答案:

答案 0 :(得分: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('-');
    }

答案 1 :(得分:0)

不要使用字符串,数字等。在参数中使用另一个名称。例如str,num等

答案 2 :(得分:0)

我在Firefox控制台上运行此代码并且运行正常

var string='1-2';

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

myFunction(string);