将构造函数对象传递给自调用函数

时间:2016-09-22 12:50:54

标签: javascript oop

#1 //pass obj into self invoke, works fine
var foo = {
    a: 1
};

(function(o){
    console.log(o.a);
})(foo);

#2 //this is not working
var foo = function(){
  this.a = 1; 
};

(function(o){
  console.log(o);
})(foo);

我是Javascript的新手,我尝试将对象传递给自我调用

我的问题是当我尝试传递构造函数obj时,它无法正常工作

谁知道为什么?

1 个答案:

答案 0 :(得分:0)

为了使#2正常工作,您必须按照以下步骤进行更正;

var foo = (function(){
  return this.a = 1; 
})();

(function(o){
  console.log(o);
})(foo);