gpt4 book ai didi

javascript - (几乎)总是在闭包中定义 Polymer?

转载 作者:行者123 更新时间:2023-11-30 08:42:54 25 4
gpt4 key购买 nike

对于复杂的元素,一个很好的做法是(几乎)总是在闭包中定义 Polymer 以保持所有只应在内部修改的变量和方法私有(private),而不是将它们附加到元素(例如 'this ')?

喜欢以下内容:

<polymer-element name="animating-element">
<script>


(function() {

var privateObj = {};

privateObj.internalState = 0;

//private static method
privateObject.setupState = function(polymerObject) {
if(polymerObject.stateExposedToOutside == /* some conditions */) {
privateObject.internalState = 1;
}

}

Polymer('animating-element', {
stateExposedToOutside: 0,
ready: function() {

privateObj.setupState(this);
this.animate();

},
animate: function() {

}
});
})();

</script>

</polymer-element>

最佳答案

这完全取决于您作为元素设计师。闭包中的变量将像在 JavaScript 中一样是 private。原型(prototype)上的属性通常是可破解的。

一个阵营重视隔离,更喜欢尽可能私有(private)化以防止错误并提高升级能力。

另一个阵营看重开放API,更愿意允许开发者访问,以解决作者没有预料到的问题。

你可以决定你在哪个阵营(或发明一个新阵营 =P)。

关于javascript - (几乎)总是在闭包中定义 Polymer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24442200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com