2016-05-11 14 views
1

私が欲しいのは、値(clazz)と関数(test)を持つオブジェクトです。コンストラクタの `this`-contextが不明確

https://jsfiddle.net/pzy9dm9x/2/

var Clazz = function(object) { 
    for(o in object) { 
    this[o] = object[o]; 
    } 
    return this; 
} 
var Construct = Clazz({ 
       clazz : "xyz", 
       test : function() { 
          console.log(this.clazz); 
         } 
       }); 
var a = new Construct(); 
console.log(a); 
a.test(); 

私がしたい:xyz

は私が取得:TypeError: Construct is not a constructor

答えて

1

あなたClazz関数はコンストラクタ関数を返しません。私はあなたが実際に何かが欲しいと思うと思う。

関連する問題