我有一个日志记录类“记录器”的实例,这个类有一个函数“日志(txt)”,它的作品。Javascript对象/函数问题
现在我声明了一个不同的类“Runner”,并将其传递给构造函数中的记录器实例。一切正常,直到第5行,但第7行不写入日志:
var Runner = function (logger) {
// constructor:
logger.log("this way it works");
this.logger = logger; //line 4
this.logger.log("this also works"); //line 5
this.logf = this.logger.log; //create a shorthand for logging
this.logf("this is not written to log. why? i thought i can create a var for a function"); //line 7
};
var logger = new Logger(); //class not shown here
var runner = new Runner(logger);
var otherinstancce = new OtherClass(logger) //line 12
你能解释一下什么是我的错?
'function.bind'不仅仅是一个框架功能,它是下一个版本的ECMA262-5的标准方法。因此,您不应该将它检入到函数原型中,而不检查它是否已经存在,并且您放在那里的任何方法都应该支持标准'bind'方法的全部功能。这个不处理参数传递。见例如。 http://stackoverflow.com/questions/1558065/access-event-object-in-event-handler/1558289#1558289的完整实现的底部。 – bobince 2010-02-07 22:42:10