代码镜像更改处理程序不工作(Javascript基础)

代码镜像更改处理程序不工作(Javascript基础),javascript,codemirror,Javascript,Codemirror,我目前正在学习javascript,为此,我开始在CodeMirror编辑器的基础上开发一个小的代码编辑器项目。现在我正在尝试实现一个hsaEditorChanged():boolean方法,当编辑器的内容从以前更改时返回true,并且在过去的一秒钟内没有发生任何更改。当我运行此代码时,我的chrome js控制台会给出以下异常:Uncaught TypeError:undefined不是第71行的函数: e.docLastChanged=new Date.getTime()。由于我缺乏js方面

我目前正在学习javascript,为此,我开始在CodeMirror编辑器的基础上开发一个小的代码编辑器项目。现在我正在尝试实现一个hsaEditorChanged():boolean方法,当编辑器的内容从以前更改时返回true,并且在过去的一秒钟内没有发生任何更改。当我运行此代码时,我的chrome js控制台会给出以下异常:
Uncaught TypeError:undefined不是第71行的函数
e.docLastChanged=new Date.getTime()。由于我缺乏js方面的知识,我无法找出问题所在,尽管这可能是一个非常愚蠢的问题

有人能帮我吗?非常感谢

var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
    //...
});

editor.docLastChanged = new Date().getTime();
editor.hasChanged = true;

editor.hasEditorChanged = function(){
    var t = new Date().getTime();
    if ((t - editor.docLastChanged) > 1000 && editor.hasChanged) { //if no change for 1 sec
        editor.hasChanged = false;
        return true;
    }
    else return false;
}
//register onChange handler to update the editor.docLastChanged variable
var changeHandler = function(e){
    e.docLastChanged = new Date.getTime(); //ERROR HERE.
    e.hasChanged = true;
    console.log("changed");
}

editor.on('change', changeHandler(this));

new
的优先级低于点的优先级,因此您正在执行
new(Date.getTime)(
)。将代码更改为
(新日期)。getTime()
或只需
+新日期
即可获得毫秒时间戳。

他也可以使用
新日期().getTime()
代替!你完全正确!我忘了添加
()