我创建了一个简单的“require”机制(https://gist.github.com/1031869),其中包含的脚本被编译并在新的上下文中运行。但是,当我在包含的脚本中调用函数并传递它this
时,包含的脚本看不到其中的任何属性。
//required.js - compiled and run in new context
exports.logThis = function(what){
for (key in what) log(key + ' : ' + what[key]);
}
//main.js
logger = require('required');
this.someProp = {some: 'prop'}
logger.logThis({one: 'two'}); //works, prints 'one : two'
logger.logThis(this); //doesn't work, prints nothing. expected 'some : prop'
logger.logThis(this.someProp); //works, prints 'some : prop'