大致有4种用法:函数调用,方法调用,构造函数调用,apply调用
具体地,
作为函数调用时,类似于C#中的给当前类的属性赋值,用法如下:- function test() {
- this.a = "函数调用";
- alert(a);
- }
- test();
复制代码 作为构造函数调用时,this就是指通过这个构造函数创建出来的对象。例如:- function test() {
- this.a= "构造函数调用";
- var o = new test();
- alert(o.a);
复制代码 作为方法调用时,this就是指这个上级对象。例如:- function test() {
- alert(this.a);
- }
- var o = {};
- o.a = "方法调用";
- o.b = test;
- o.b();
复制代码 作为apply调用时,this指向的是apply中的第一个参数。例如:- var x = 0;
- function test() {
- alert(this.a);
- }
- var o = {};
- o.a = "apply调用";
- o.b = test;
- o.b.apply();
- o.b.apply(o);
复制代码 |