如何在Typescript类中的另一个函数中使用在该类中声明的函数?
How can I use a function declared inside a Typescript class inside another function in that class?
我有这样的代码:
class ExamPage {
tabClear() {
page.clear(this.examName);
page.clear(this.examVersionId);
}
createNew() {
describe('Create new' , function() {
it('Clear input boxes', function() {
tabClear(); // <<< not recognized
});
});
}
}
谁能给我点建议?我想调用函数tabClear(),但我无法访问它。谁能告诉我怎么做呢
如果我们需要调用自己类的函数,我们总是必须使用this
class ExamPage {
tabClear() {
page.clear(this.examName);
page.clear(this.examVersionId);
}
createNew() {
describe('Create new' , function() {
it('Clear input boxes', function() {
this.tabClear(); // HERE the this.tabClear() is the answer
});
});
}
}
但实际上,我们也应该使用箭头函数符号,这将保持this的正确作用域:
createNew() {
// the function () is replaced with arrow function
describe('Create new' , () => {
it('Clear input boxes', () => {
this.tabClear(); // HERE the this.tabClear() is the answer
});
});
}
查看更多关于箭头函数的详细信息:
- TypeScript箭头函数教程
小引用:
"箭头函数表达式是函数表达式的紧凑形式,它省略了function关键字,并且具有this的词法作用域。基本上,箭头功能可以帮助您自动保留一定的范围。如果你看一下编译器输出的代码,它只是创建了一个var _this = this;并且在函数内部使用。
相关文章:
- 直接在函数声明上使用function.prototype.bind
- 可以Resharper在我的javascript函数声明中添加分号
- 此行是否包含函数声明
- 函数声明与函数表达式之间的性能差异
- 为什么在javascript函数声明中使用逻辑运算符
- 函数声明未定义-原因
- JavaScript执行从函数声明开始,而不是从$(document).ready()开始
- 杰辛特 |传递默认设置 |函数声明和“this”
- 未知的 JavaScript 函数声明模式
- JavaScript 中的函数声明
- 在函数声明而不是运行时分析所有变量
- 命名函数声明有什么好处吗
- 将一个简单的函数声明形成JavaScript中的闭包
- 返回语句后的函数声明全局变量不会被覆盖
- (this)在函数声明之后
- 为什么使用 ||在变量函数声明中
- 为什么要将函数声明分配给命名变量
- 具有相同参数的 Javascript 函数声明
- 从性能的角度来看,函数声明与表达式
- 为什么 Mozilla Javascript 调试器的断点会捕捉到函数声明