看如下代码:
var test = function() {
alert(this);
this.f = function() {
alert(this);
};
};
test();
var t =new test();
t.f();
执行结果为:
Object Window
Object Object
Object Object
执行test();时,test是作为一个函数,而此函数所在的域是Window,故显示的是Object Window。
执行var t =new test();时,test是作为一个初始化函数,生成了它的对象实例t,此时产生了一个新的域t,故显示Object Object。
执行t.f();时,f是一个在域t中执行的函数,而f不是一个域只是一个函数,故显示Object Object。
没有评论:
发表评论