原型方法中的“x未定义”

时间:2014-04-25 18:47:05

标签: javascript

我坚持使用以下代码:

我有以下代码:

function Calendar() {
      this.month = "January";
    }
    Calendar.prototype.getMonth = function () {
        alert(cal.month);
    }
    $(document).ready(function() {
        var cal = new Calendar();
        var div_cal = document.getElementById("div_cal");
        var div_controls = document.getElementById("div_controls");
        div_controls.innerHTML='<input type="button" value="prev" onClick="cal.getMonth()">';
    });

运行时,按钮被创建但按下时调试说: “'cal'未定义”

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

你有:

Calendar.prototype.getMonth = function () {
    alert(cal.month);
}

此处未定义 cal 变量。请改用

Calendar.prototype.getMonth = function () {
    alert(this.month);
}

答案 1 :(得分:0)

Function Calender(){
this.month = "jan";
}
Calender.prototype.getMonth = function(){
alert(this.month);
}