微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JavaScript匿名函数表达式与IIFE

遇到一些在表达式中使用IIFE而不仅仅是普通函数代码.
var custom_type = (function() {
    return $('#myDiv').attr('custom_type');
})();

通常我会写这样的东西:

var custom_type = function() {
    return $('#myDiv').attr('custom_type');
};

IIFE的原因是什么?我唯一能想到的是,IIFE可能只在开始时分配一次custom_type变量,而第二次可能会在每次引用变量时继续检查更新的类型.

解决方法

在这个例子中,您可以完全省去该功能,只需:
var custom_type = $('#myDiv').attr('custom_type');

但是一般情况下,您可以使用IIFE进行更复杂的“即时”变量赋值计算 – 如果我需要迭代某些东西,我喜欢使用它们,所以我可以在不污染当前范围的情况下使用它.

但是,在第二个示例中,结果完全不同 – 您需要调用函数custom_type()来获取当前值,而第一段代码将获得其值一次,变量将保存该值.

原文地址:https://www.jb51.cc/js/150934.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐