什么(function(){})();语法工作?

时间:2016-05-18 03:00:32

标签: javascript

这里有第一个问题。打破僵局我有点紧张,请放纵我刚完成CodeAcademy JS课程。

在下面的代码中,我发现切换了一些#element,我想它会将我的class.property从其初始状态切换为“block”,并从“block”切换到其初始状态。如我错了请纠正我。但如果我不是,有人可以向我解释这是如何执行的?

class.property === 'value' ? '' : 'value';
  

Question Mark in JavaScript - 条件? value-if-true:value-if-false

此时我明白''等于'无',这是有道理的。然后它最终将这个属性conditon value-if-true和value-if-false传递给我的#element(用一些onclick()触发。但是如果现在我想让我的函数也触发一些部分位置:?< / p>

我试图添加它,但它失败了。我也不明白为什么要使用(function(){})();

  (function (style) {
    style.display = style.display === 'fixed' ? 'absolute' : 'fixed';
})(document.getElementById(section).style);

以下是原始代码:

function toggledisplay(elementID) {
    (function (style) {
        style.display = style.display === 'block' ? '' : 'block';
    })(document.getElementById(elementID).style);
};

1 个答案:

答案 0 :(得分:1)

fixedabsolute的{​​{3}}值不是position

&#13;
&#13;
function toggledisplay(elementID) {
  var style = document.getElementById(elementID).style;
  style.position = style.position === 'fixed' ? 'absolute' : 'fixed';
};
&#13;
body {
  position: relative;
}
#mydiv {
  top: 50px;
  left: 80px;
  min-height: 100px;
  width: 100px;
  background-color: lightgrey;
}
&#13;
<button onclick="toggledisplay('mydiv')">Toggle</button>
<div id="mydiv"></div>
&#13;
&#13;
&#13;

注意:没有必要拥有IIFE功能,您只需使用变量来引用style属性