Javascript requirejs依赖函数的this is window
我使用requirejs 一种依赖是Javascript requirejs依赖函数的this is window,javascript,requirejs,Javascript,Requirejs,我使用requirejs 一种依赖是 define(function(){ ..... fusionchart = function(){ this.xxxx = ....;//the statement catch wrong,this is window not the object } return fusionchart; }); 我不熟悉requirejs,我不知道为什么,以及如何避免它这里的require没有什么问题。这在内部函数中始终指向窗
define(function(){
.....
fusionchart = function(){
this.xxxx = ....;//the statement catch wrong,this is window not the object
}
return fusionchart;
});
我不熟悉requirejs,我不知道为什么,以及如何避免它这里的require没有什么问题。这在内部函数中始终指向窗口 阅读 如果fusionchart是一个构造函数,那么:
define(function(){
var FusionChart = function(){
this.x = 0;
};
return FusionChart;
});
在代码的其他地方:
define(function(){
var FusionChart = require('FusionChart');
var fusionChartInstance = new FusionChart();
});
通过返回新的FusionChart,可以使FusionChart表现为单例;这样,您就不必在需要时创建实例。Requirejs将始终指向相同的引用
define(function(){
var FusionChart = function(){
this.x = 0;
};
return new FusionChart();
});
define(function(){
var fusionChartInstance = require('FusionChart');
});
谢谢,我改为使用shim,比如requirejs.config{shim:{'fusionCharts':{exports:'fusionCharts'}};而且FusionCharts.js不兼容,之前没有定义,但这仍然是Window您是否创建FusionCharts的新实例?