当前作用域下的对象。
/* 例 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
JavaScript 数据类型
JavaScript 数字
JavaScript 字符串
JavaScript 数组
JavaScript 对象
JavaScript Map
JavaScript Set
JavaScript null
JavaScript undefined
JavaScript 类型检测
JavaScript 包装对象
JavaScript 函数
JavaScript 参数
JavaScript 匿名函数
JavaScript 箭头函数
JavaScript 递归
JavaScript 闭包
JavaScript 生成器
JavaScript 异步
JavaScript setTimeout
JavaScript setInterval
JavaScript 回调
JavaScript Promise
JavaScript async await