Maison  >  Questions et réponses  >  le corps du texte

javascript - js, y a-t-il quelques lignes de code que vous ne comprenez pas ?

<!Doctype html>
<html lang="en>
    <head>
        <meta http-equiv="Content-Type" content="text/html;            charset=utf-8" />
        <title>控制p属性</title>
        
        <script>
            var changeStyle = function(elem, attr, value) {
                elem.style[attr] = value
            };
            window.onload = function() {
                var oBtn = document.getElementsByTagName("input");
                var op = document.getElementById("p1");
                var oAtt = ["width", "height", "background", "display", "display"];
                var oVal = ["200px", "200px", "red", "none", "block"];
                for (var i = 0; i < oBtn.length; i++) {
                    oBtn[i].index = i;
                    oBtn[i].onclick = function() {
                        this.index == oBtn.length - 1 && (op.style.cssText = "");
                        changeStyle(op, oAtt[this.index], oVal[this.index])
                    }
                }
            };
        </script>
    </head>

    <body>
        <p id="outer">
            <input type="button" value="变宽" />
            <input type="button" value="变高" />
            <input type="button" value="变色" />
            <input type="button" value="隐藏" />
            <input type="button" value="重置" />
            <p id="p1"></p>
        </p>
    </body>
</html>

1. Pourquoi avons-nous besoin d’opérations logiques ?
2.Quelle est la relation entre this.index et op.style.cssText ? Pouvez-vous l'expliquer brièvement ?

女神的闺蜜爱上我女神的闺蜜爱上我2663 Il y a quelques jours788

répondre à tous(2)je répondrai

  • 某草草

    某草草2017-07-05 11:02:28

    Cette phrase signifie : Si le bouton cliqué est "Réinitialiser", alors définissez la valeur p1 元素的 cssText 清空。也就是重置了 p1 元素的初始状态(没有 style).

    && 运算是从左向右执行的,只有当左边表达式为真时,才执行右边的表达式。在这里既当 this.index == oBtn.length - 1,也就是点击的是最后一个按钮时,执行 op.style.cssText = "".

    Ce type d'écriture ne vaut pas la peine d'être promu. Il a une mauvaise lisibilité et n'est pas une bonne façon d'écrire. La façon normale de l'écrire est :

    if(this.index === oBtn.length - 1) {
      op.style.cssText = ""
    }

    this.index 就是保存了按钮的序号,用于判断点击的是哪个按钮。在这里不能直接用 i pour exprimer qu'il s'agit d'une faille célèbre de JavaScript.

    répondre
    0
  • 为情所困

    为情所困2017-07-05 11:02:28

    this.index == oBtn.length - 1 && (op.style.cssText = "");
    

    signifie : si c'est le dernier bouton, exécutez le code suivant (op.style.cssText = ""), c'est-à-dire effacez le style

    a==b&&code...
    

    équivaut à if(a==b){code....}

    Personnellement, je n’aime pas cette façon d’écrire.

    2.Quelle est la relation entre .this.index et op.style.cssText

    this.index est le numéro de série du bouton
    op.style.cssText = "" signifie effacer le style opérationnel.

    répondre
    0
  • Annulerrépondre