如何操纵变量范围?

时间:2017-04-23 03:42:10

标签: javascript lexical-scope dynamic-scope

学习一些TypeScript。 试着让这段代码工作:

Data.Functor.Classes

收到此错误:... ocrText: string; ... foo() { Tesseract.recognize(<Tesseract.ImageLike>document.getElementById('image')) .then(function(result) { console.log(result); this.ocrText = result.text; }); }

控制台日志确实显示了对象属性和值。

如何提取&#39;文本的本地值?来自&#39;结果的财产&#39;反对全球范围?

1 个答案:

答案 0 :(得分:0)

使用window代替this

var Text = '';
(()=> fetch('www.example.com')
 .then(response => response.text())
 .then(text => window.Text=text))();

不太了解打字稿,但我猜它正在使用strict mode,其中this未定义,而不是默认为全局window对象,如果不在类实例的上下文。