JS中this作用域的问题:常见报错:XXX function 或者变量 未定义
场景:
定义了全局的函数,但是使用的时候,报错XXX 函数或者变量未定义,但实际上js中明明已经定义了且正确
问题原因:
大多数是因为调用过程中this.functionname 或者this.varname中this指向的作用域问题
解决办法:
在调用函数中,函数体最外层添加this指代,var self=this;
调用的函数中 :
functionA(){
var self=this; //函数体最外层定义this指代
if(){
self.functionB(); //第二层,可以正常使用
for(){
self.functionB(); //第三层可以正常使用
}
}
},
functionB(){
},本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!