我刚刚阅读了一篇关于 Java Script 中模块模式的代码项目的小文章。阅读 javascript 代码后,很少有区域不是很清楚代码的编写方式。我写了 javascript,但我不熟悉提前写 javascript。这是我从 codeproject http://www.codeproject.com/Articles/619747/Module-Pattern-in-Java-Script-in-Depth读取的 url
1) // 一个函数,生成一个新的加数函数
function addGenerator(num) {
// Return a simple function for adding two numbers
// with the first number borrowed from the generator
return function (toAdd) {
return num + toAdd
};
}
// addFive now contains a function that takes one argument,
// adds five to it, and returns the resulting number
var addFive = addGenerator(5);
// We can see here that the result of the addFive function is 9,
// when passed an argument of 4
alert(addFive(4) == 9); // Which return true
当 addGenerator 调用时, 5 已作为参数传递,但我只是不明白这一行它是如何工作的
return function (toAdd) {
return num + toAdd
};
addGenerator(5) 会返回什么?
这将如何返回 true --> alert(addFive(4) == 9); // 返回真
2)
var EmployeeModule = (function (my) {
my.anotherFunction = function () {
return alert('this is another function.');
};
} (EmployeeModule));
上面的代码将如何工作&将被调用?请详细说明他们要做什么?
3)
var EmployeeModule = (function (my) {
// add functionality...
return my;
}(EmployeeModule || {}));
我只是不明白这一行(EmployeeModule || {}))
请解释这一行的含义。
4) 模块模式中的全局导入
我们还可以在我们的模块中导入其他 java 脚本库
(function ($, Y) {
// now have access to globals jQuery (as $) and YAHOO (as Y) in this code
}(jQuery, YAHOO));
Sub-modules in Module Pattern
在很多情况下,我们可以创建子模块。这就像创建一个常规模块 复制代码
EmployeeModule.subModule = (function () {
var my = {};
// ...
return my;
}());
为上述代码点明智地寻找更好的解释,并提供更多示例以获得更好的解释。谢谢