传递变量:使用模块的最佳实践
Pass on variable: best practice using modules
我正在做一项学校作业,我在问自己以下哪个代码最符合逻辑。
我的问题的重点是我使用变量的方式。是将值作为参数赋予函数还是像我在第一个示例中那样调用变量更好。
这个:
var TEST = function()
{
my.testVariable = "testing";
SECONDFCTION.testfunction();
return my;
}(TEST || {}, jQuery));
var SECONDFCTION = function()
{
my.testfunction = function()
{
// SOME CODE
console.log(SECONDFUNCTION.testVariable);
}
return my;
}(SECONDFCTION || {}, jQuery));
或者这个:
var TEST = function()
{
var testVariable = "test"
SECONDFCTION.testfunction(testVariable);
return my;
}(TEST || {}, jQuery));
var SECONDFCTION = function()
{
my.testfunction = function(testVariable)
{
// SOME CODE
console.log(testVariable);
}
return my;
}(SECONDFCTION || {}, jQuery));
传递参数几乎总是更好、更自然的模式。
依赖全局变量很容易出错,并且在进行多个函数调用时会变得一团糟。另外,如果你有两个相对独立的模块,就像你的例子一样,你不想 couple them too tightly.
我正在做一项学校作业,我在问自己以下哪个代码最符合逻辑。
我的问题的重点是我使用变量的方式。是将值作为参数赋予函数还是像我在第一个示例中那样调用变量更好。
这个:
var TEST = function()
{
my.testVariable = "testing";
SECONDFCTION.testfunction();
return my;
}(TEST || {}, jQuery));
var SECONDFCTION = function()
{
my.testfunction = function()
{
// SOME CODE
console.log(SECONDFUNCTION.testVariable);
}
return my;
}(SECONDFCTION || {}, jQuery));
或者这个:
var TEST = function()
{
var testVariable = "test"
SECONDFCTION.testfunction(testVariable);
return my;
}(TEST || {}, jQuery));
var SECONDFCTION = function()
{
my.testfunction = function(testVariable)
{
// SOME CODE
console.log(testVariable);
}
return my;
}(SECONDFCTION || {}, jQuery));
传递参数几乎总是更好、更自然的模式。
依赖全局变量很容易出错,并且在进行多个函数调用时会变得一团糟。另外,如果你有两个相对独立的模块,就像你的例子一样,你不想 couple them too tightly.