【发布时间】:2020-05-15 01:08:51
【问题描述】:
我见过这样的事情:
function fnx(){
ctrl = this;
this.thisedVar = "thisedVar from fnx"
}
我试图弄清楚它有什么用处。如果执行该函数,然后将其与 ctrl 进行比较,则它们是相同的:
fnx();
console.log(this === ctrl) // true
这就是为什么我不明白将this 分配给变量的目的是什么。
谁能解释一下,好吗?谢谢。
【问题讨论】:
-
这样你想要的 this 可以从另一个范围访问。例如。在回调内部
-
你能提供一个小例子吗?我真的很感激。
-
查看
ctrl的声明位置以及它在其他哪些位置使用。如果您不向我们展示完整的代码,我们无法告诉您它的用途。 -
如果您在
function fnx() { ... }中声明了另一个函数,并且在该嵌套函数中想要引用fnx,则您不能。通过将fnx的引用存储为变量,您现在可以从内部的任何位置访问它。 -
为什么要将一个变量设置为另一个变量。保存对值/对象的引用。这里也一样。在那一刻需要对此进行引用,很难知道它是什么,因为您没有显示所有代码。 developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: javascript