如何操作变量作用域?
How to manipulate variable scope?
学习一些 TypeScript。
尝试让这段代码工作:
...
ocrText: string;
...
foo() {
Tesseract.recognize(<Tesseract.ImageLike>document.getElementById('image'))
.then(function(result) {
console.log(result);
this.ocrText = result.text;
});
}
出现此错误:Uncaught TypeError: Cannot set property 'ocrText' of undefined
控制台日志确实显示了对象属性和值。
如何将 'text' 属性 的局部值从 'result' 对象提取到全局范围?
使用window
代替this
:
var Text = '';
(()=> fetch('www.example.com')
.then(response => response.text())
.then(text => window.Text=text))();
不太了解打字稿,但我猜它正在使用 strict mode,其中 this
未定义,而不是默认为全局 window
对象,如果没有在 class 实例的上下文中使用。
学习一些 TypeScript。 尝试让这段代码工作:
...
ocrText: string;
...
foo() {
Tesseract.recognize(<Tesseract.ImageLike>document.getElementById('image'))
.then(function(result) {
console.log(result);
this.ocrText = result.text;
});
}
出现此错误:Uncaught TypeError: Cannot set property 'ocrText' of undefined
控制台日志确实显示了对象属性和值。
如何将 'text' 属性 的局部值从 'result' 对象提取到全局范围?
使用window
代替this
:
var Text = '';
(()=> fetch('www.example.com')
.then(response => response.text())
.then(text => window.Text=text))();
不太了解打字稿,但我猜它正在使用 strict mode,其中 this
未定义,而不是默认为全局 window
对象,如果没有在 class 实例的上下文中使用。