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(){
},本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!