我不明白this
BigObject 构造函数undefined
在不使用new
关键字时的作用——请参见下面的示例。鉴于 Firebug 中的以下代码片段:
( function( global ){
"use strict";
var fromunderbutter = "fun";
global.BigObject = function( options ){
console.log( this );
console.log( this instanceof BigObject );
};
})( this );
以下代码有意义:
>>> var x = new BigObject();
>>> Object { } // new constructor creates blank object context that is assigned to BigObject
>>> true // BigObject was the object context ( this ) that invoked BigObject()
据我了解,this
指的是当前对象上下文。在上面的示例中,由于 new 关键字,this
将引用一个空白对象,该对象将被新创建并应用于函数调用。
但是下一部分对我来说没有意义:
>>> BigObject()
>>> undefined
>>> false
为什么是this
未定义的?我认为这this
将指代某些东西——可能是全局对象窗口。不知道如何看待这个结果。
谢谢