使用' var name ="写的自调用函数在前面 - 不好的做法?

时间:2015-11-08 11:22:17

标签: javascript jquery google-maps knockout.js

在我的knockout.js项目中,我写了一些自调用函数:

var addMarkers = function () {
    ko.utils.arrayForEach(self.sectionList(), function (sectionItem) {
        ko.utils.arrayForEach(sectionItem.placeList(), function (placeItem) {
            placeItem.marker.addListener('click', function () {

                map.panTo(placeItem.marker.getPosition());
            });
        });
    });

}();

该函数可以正常工作,但在JSLint中," var addMarkers"被突出显示为未使用的变量这让我想知道我是否应该这样的功能,或者只是匿名,因为这是一个更好的做法?:

  

function addMarkers (){ code to be executed };

1 个答案:

答案 0 :(得分:0)

分配自执行功能的结果通常很有用。特别是,我喜欢用这种方式定义我的主视图模型,因为

  1. 我不需要我的viewmodel原型
  2. 我不太可能需要多个viewmodel实例
  3. 你使用自动执行功能的原因是你需要一个本地范围来处理你正在做的事情,将它与周围的范围隔离开来。您要为其分配变量的原因是您希望return稍后将使用的值。在你的例子中,这些都不是真的。