在我的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 };
答案 0 :(得分:0)
分配自执行功能的结果通常很有用。特别是,我喜欢用这种方式定义我的主视图模型,因为
你使用自动执行功能的原因是你需要一个本地范围来处理你正在做的事情,将它与周围的范围隔离开来。您要为其分配变量的原因是您希望return
稍后将使用的值。在你的例子中,这些都不是真的。