Javasrcipt的 this 是个神奇的东东,其指向很难把握。不过,有一个原则,可是说是理解 this 的关键,那就是,它指的是调用函数的那个对象。看看这个例子:
function fn(){ alert(this.ref) }; var obj = {}; // 定义 ref obj.ref = "hello world"; obj.fn2 = fn; obj.fn2(); |
fn() 中的 this,指向的是 obj 这个对象,因此,ref 的值是 “hello world” 。
Javasrcipt的 this 是个神奇的东东,其指向很难把握。不过,有一个原则,可是说是理解 this 的关键,那就是,它指的是调用函数的那个对象。看看这个例子:
function fn(){ alert(this.ref) }; var obj = {}; // 定义 ref obj.ref = "hello world"; obj.fn2 = fn; obj.fn2(); |
fn() 中的 this,指向的是 obj 这个对象,因此,ref 的值是 “hello world” 。