在下面的代码中,我的return
函数在另一个函数中并没有立即运行,但第一个函数是。我的目标是让整个功能立即运行。
var windowCheck = (function () {
var switcher = false;
return function () {
console.log(switcher);
if ($window.innerWidth > 480) {
if (!switcher) {
element.perfectScrollbar({
wheelSpeed: scope.wheelSpeed || 50,
wheelPropagation: $parse(attrs.wheelPropagation)() || false,
minScrollbarLength: $parse(attrs.minScrollbarLength)() || false
});
console.log('Plugin On');
switcher = true;
}
}
else {
if (switcher) {
console.log('Plugin Off');
element.perfectScrollbar('destroy');
switcher = false;
}
}
};
}());
答案 0 :(得分:1)
该功能确实第一次运行 - 运行匿名功能,结果是 -
另一个功能!
这第二个'然后将函数分配给windowCheck
。
并且windowCheck
一直运行直到被叫。
答案 1 :(得分:0)
在定义它之后简单地运行它并避免所有匿名函数混乱:
var windowCheck = function() {
...
}
windowCheck();
答案 2 :(得分:0)
现在的代码现在定义了windowCheck
函数,并使用闭包来存放私有switcher
变量。这一切都很好。如果您希望执行定义的函数,那么您只需将其添加到已有的函数的末尾:
windowCheck();
以便立即实际执行。