【发布时间】:2016-01-18 04:17:23
【问题描述】:
所以我最近开始使用 TypeScript,到目前为止我很喜欢它,但是有一个问题我根本无法理解为什么它不能正常工作。
“var”关键字在 TypeScript 中仍然可以自然访问,我知道它是一个函数作用域,而不是“let”关键字的块作用域。我有以下代码,但我不知道为什么它不起作用:
class Calendar {
month: number;
months: string[];
weekday: number;
day: number;
constructor() {
this.month = date.getMonth();
this.months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'November', 'December'];
this.weekday = date.getDay();
this.day = date.getDate();
}
nextMonth() {
var months = this.months;
var currentmonth: number = this.month;
el('.icono-caretRight').addEventListener('click', () => {
currentmonth = (currentmonth + 1) % months.length;
}, false);
month = currentmonth;
return month;
}
previousMonth() {
el('.icono-caretLeft').addEventListener('click', () => {
month--;
}, false);
}
}
let calendar = new Calendar();
let month = calendar.month;
let nextmonth = calendar.nextMonth();
console.log(nextmonth);
查看 nextMonth() 函数。我不知道为什么“月”变量没有增加。我到底做错了什么?
注意:我使用的是 JSPM + TypeScript(插件类型脚本)。
提前致谢!
【问题讨论】:
标签: javascript typescript var