JS中this作用域的问题:常见报错:XXX function 或者变量 未定义

摘要:定义了全局的函数,但是使用的时候,报错XXX 函数或者变量未定义,但实际上js中明明已经定义了且正确;大多数是因为调用过程中this.functionname 或者this.varname中this指向的作用域问题

场景:

定义了全局的函数,但是使用的时候,报错XXX 函数或者变量未定义,但实际上js中明明已经定义了且正确


问题原因:

大多数是因为调用过程中this.functionname 或者this.varname中this指向的作用域问题


解决办法:

在调用函数中,函数体最外层添加this指代,var self=this;

调用的函数中 :

functionA(){
  var self=this;  //函数体最外层定义this指代
  if(){
    self.functionB();   //第二层,可以正常使用
    for(){
      self.functionB();   //第三层可以正常使用
    }
  }
},

functionB(){

},


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_3460