Javascript 具有显示模块模式的requirejs
为了解决这个问题,我简化了。我使用的是requirejsJavascript 具有显示模块模式的requirejs,javascript,module,requirejs,Javascript,Module,Requirejs,为了解决这个问题,我简化了。我使用的是requirejs define(['controls'], function (controls) { var something = 10; var someFunction = function(someValue) { something = someValue; }; return { smth:someFunction, smvl:something
define(['controls'], function (controls)
{
var something = 10;
var someFunction = function(someValue)
{
something = someValue;
};
return {
smth:someFunction,
smvl:something
};
});
因此,代码的第一部分是player.js。在我的主模块中,首先控制台日志显示“10”,然后我使用player.js中的公共函数来更改某些内容值
但当我再次使用控制台日志时,它仍然显示10。那么为什么它没有改变呢?我一定是做错了什么,错过了什么明显的东西。试试这个:
player.js
require(['player', 'world', 'controls'], function (player, world, controls)
{
console.log(player.smvl);
player.smth(50);
console.log(player.smvl);
});
呼叫码
define('player', function () {
var player = function () {
this.smvl = 10;
return {
smth: function (someValue) {
this.smvl = someValue;
},
smvl: this.smvl
}
}
return new player();
});
试试这个:
player.js
require(['player', 'world', 'controls'], function (player, world, controls)
{
console.log(player.smvl);
player.smth(50);
console.log(player.smvl);
});
呼叫码
define('player', function () {
var player = function () {
this.smvl = 10;
return {
smth: function (someValue) {
this.smvl = someValue;
},
smvl: this.smvl
}
}
return new player();
});