JavaScript this

this

当前作用域下的对象。

/* 例 1. */
var Obj = {
 n:1,
 f:function(){
  return this.n // f 函数 在 Obj 的作用域下执行,所以 this 代表了 Obj,this.n = Obj.n
 }
}

n = Obj.f()
console.log(n)


/* 例 2. */
var Obj = {
 n:1,
 f:function(){ return (function() {return this.n})() } // 嵌套多层函数会导致 this 失效
}

n = Obj.f()
console.log(n) // undefined


/* 例 3. */
var Obj = {
 n:1,
 f:function(){ return (()=>this.n)() } // 箭头函数修复了嵌套多层函 this 失效的问题
}

n = Obj.f()
console.log(n) // 1
更多教程 HTML5 教程 CSS3 教程 JavaScript 教程 JQuery 教程 React.js 教程 Node.js 教程 Koa2 教程 Python 教程 Linux 教程