快速问题,为什么我对weekdays中的change_date()的引用在Firebug中给出weekdays is undefined错误?

我也尝试了this.weekdays,同样。

我该如何纠正?

var timesheet_common = {

    weekdays : ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],

    change_date: function() {
        $('#text_input').val( weekdays[(new Date()).getDay()] );
    }

};

最佳答案

您的代码有两个问题:


change_date()内部,您应将weekdays称为this.weekdays,因为它们都在同一对象中定义。
当使用change_date()作为单击处理程序时,必须改为使用$.proxy(timesheet_common, 'change_date');否则,必须使用change_date()。这样可以确保在timesheet_common的上下文中而不是在clicked元素中调用。

关于javascript - 无法从其他属性(功能)访问Javascript对象属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3175431/

10-09 18:04