关于上下文对象的Javascript查询

时间:2014-11-13 00:28:24

标签: javascript closures

我有以下IFFE,它在第一次调用时创建了一个上下文对象

$_(document)

结果:obj {context:document}

但是在第二次通话中我得到了一个错误

 $_(document)

未捕获的TypeError:对象不是函数

作为刚刚熟悉基本概念的人,我想知道这种行为的原因

$_ = (function(){

    var obj = function (context){
        this.context = context
    }

    return function(context){
       return new obj(context)
    }
}())

1 个答案:

答案 0 :(得分:-1)

嗯,我们在这里做的是。返回一个函数。使用IFFE typeof $_等于“function”,当我们发送一个上下文作为参数时,它构造一个带有key-word new的对象并返回该对象,因此它显示一个带有对象文档引用的对象