为什么使用与输入参数具有相同结束参数的函数来编写Javascript
Why code Javascript with functions having same ending parameters as input parameters?
我来自"老派"Javascript函数,我甚至不需要演示这些函数。
- 以下风格的优点是什么
- 这是自我执行吗
- 这是怎么叫的
($, reportGroupDataManager, data)
的意义何在- 这种编码风格叫什么
-
我在哪里可以学习如何编写这种样式的代码,在哪里以及如何编写?
(function(jQ, dM, data) { var self = this; //var $container = jQ('#menu-tree'), // initializePage = function(resources) { // console.log('in init'); // //var resources = "blah"; // }; var initializePage = function () { console.log('in init'); }; dM.getResources() .done(initializePage); })($, reportGroupDataManager, data);
- 这种风格的优点是,所有的逻辑都由这个自调用函数封装。因此,所使用的变量不在全局范围内。有利于垃圾收集。由于所有变量都是作用域的本地变量,因此您的代码是安全的
- 是的,它是自动执行的
- 它被调用是因为末尾有括号。()
- 您还可以使用($,reportGroupDataManager,data)传递值,这些值可以在函数中使用
- 这称为自调用函数。内部函数称为匿名函数。当你像这样包装函数时(函数位于此处…)();因此,它是自我调用的,因为它通过这样做而被调用
- 您可以在javascript中搜索自调用函数,并获得大量资源
希望能有所帮助。
这个代码片段定义了一个匿名函数,然后用给定的参数调用它。
它的工作原理与以下代码相同:
function funt(a, b) {return a + b}
funt(1, 2); // or window.funt(1, 2);
简单代码风格的优点是你不会在全局上下文中创建变量:
(function(a, b){return a + b;})(1, 2);
说全局上下文,网页中有window对象,nodejs中有global。
另一个优点是,你可以在函数内部做任何你想做的事情,比如定义事件处理程序,并且局部变量被这个函数隐藏。
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- AngularJS:我可以跳过函数参数回调吗
- 函数未将值作为参数传递
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 为什么不'我们在javascript中使用函数参数的数据类型
- 你好,这是测试用例,我必须在函数中传递n个参数
- JavaScript - 多参数函数,它是多个图像库的字符串
- 如何从两个参数函数返回随机整数
- 以无点风格在Ramda中编写一个无参数函数
- JS:将单参数函数转换为可链接函数
- 正则表达式类似于Javascript中的参数函数
- 将 $' 值传递给替换的关联参数函数
- "这个“;在参数函数中
- 如何向jquery插件发送参数函数
- 将参数函数Node.js从一个js传递到另一个js
- 如何在javascript参数函数中传递PHP post方法字符串
- 装饰 Javascript Promise.then 以便参数函数接收附加参数
- 正在分析setInterval ID'是的's参数函数
- 如何根据一个参数函数计算年龄
- 对象参数/函数和/或三元运算符混淆