2017-03-02 77 views
0

我对javascript很新,最近开始进入临时Web开发。我有一个函数应该返回自输入日期以来的天数。代码包含在下面。JavaScript函数未定义使用Moment.js

<script type = "text/javascript"> 
function daysSince(date) { 
    var i = moment(moment().format('YYYYMMDD')).diff(moment(moment().format(date))); 
    return i; 
} 
</script> 

由于未知的原因,此功能未定义,我想帮助找出原因。我将它与我的页面上的其他工作函数进行了比较,并且无法确定我在做什么错误。我已经验证了,输入到控制台时,主要代码行(i的定义)可以正常运行。任何帮助确定问题将不胜感激。

+0

它可能是未定义的时刻,而不是您的功能?你从哪里来的? – dpix

+0

应该在其引用后调用时刻函数 –

+0

你如何以及在哪里调用'daysSince()',以及在运行该代码时在控制台中看到的具体错误是什么? – nnnnnn

回答

1

以下为我工作:

<html> 
 
<body> 
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script> 
 
    <script> 
 
    function daysSince(date) { 
 
     return moment().diff(date, 'days'); 
 
    } 
 
    console.log(daysSince(new Date('3/1/2016'))); 
 
    </script> 
 
</body> 
 
</html>

也许这只是订购脚本的问题。

+1

谢谢,这是我的脚本排序问题。我也修改我的代码更像你的代码,因为它更有效率。 – Encryptonite

+0

伙计们。如果你不介意,你能告诉我什么是订购脚本的正确方法吗?我在这里也有同样的问题。 –

+0

@ Ye'ThuraAg脚本应该是反向依赖顺序 - 这里的“主”脚本取决于时刻(它假定“时刻”被定义),因此脚本首先被加载。 –