recherche

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

javascript - Introduction aux variables, guillemets et problèmes d'utilisation des signes

Il y a quelque chose que je ne comprends pas très bien. Cette fois, j'ai vu un morceau de code qui explique très bien le problème :

function moveElement (elementID, final_x, final_y, interval) {
    var elem = document.getElementById(elementID);
    var xpos = parseInt(elem.style.left);
    var ypos = parseInt(elem.style.top);
    ......
    var repeat = "moveElement('"+ elementID +"',"+ final_x +","+ final_y +","+ interval +")";
    movement = setTimeout(repeat, interval)
}

Je n'ai qu'une question :

var repeat = "moveElement('"+ elementID +"',"+ final_x +","+ final_y +","+ interval +")";

Dans ce paragraphe, elementID,final_x,final_y,intervalles quatre paramètres sont transmis. À l'exception du premier qui est une chaîne, les trois derniers sont tous des nombres.

La première chose que je ne comprends pas, c'est pourquoi ces paramètres doivent être placés entre guillemets. La deuxième chose que je ne comprends pas, c'est ce que fait le signe plus ici. Une autre question est pourquoi cette chaîne comme elementID est-elle entourée de guillemets doubles ? Dans quelles circonstances est-ce nécessaire ?

En général, je pense que le signe plus convient à l'épissage de chaînes, mais ce n'est évidemment pas le cas ici. Une paire de guillemets est un espace indépendant. Quelle est la signification du signe plus qui y est enveloppé ?

PHPzPHPz2804 Il y a quelques jours629

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

  • PHP中文网

    PHP中文网2017-05-18 11:01:41

    1. Les guillemets sont entourés de virgules
    2.123456+"somestring"→"123456somestring"
    3.elementId est un paramètre de type String, donc ajoutez des guillemets

    répondre
    0
  • 滿天的星座

    滿天的星座2017-05-18 11:01:41

    La variable est enfin convertie en chaîne ! Les nombres + guillemets changent de caractères Si le paramètre dont vous avez besoin est une chaîne au lieu d'un nombre

    .

    répondre
    0
  • 漂亮男人

    漂亮男人2017-05-18 11:01:41

    La chaîne ici équivaut à l'utilisation de eval dans setTimeout, qui fait référence à la chaîne de code que vous souhaitez exécuter après un délai de quelques millisecondes

    répondre
    0
  • 世界只因有你

    世界只因有你2017-05-18 11:01:41

    Tout d'abord, le signe plus ici est en effet utilisé pour l'épissage des cordes

    var repeat = "moveElement('"+ elementID +"',"+ final_x +","+ final_y +","+ interval +")";
    Le résultat de

    est

    var repeat = "moveElement(elementID, final_x, final_y, interval)"

    Passez simplement la variable de chaîne nommée répétition en tant que paramètre à setTimeout, c'est-à-dire qu'après un intervalle de quelques millisecondes, la répétition sera exécutée

    var repeat = "moveElement('"+ elementID +"',"+ final_x +","+ final_y +","+ interval +")";
    movement = setTimeout(repeat, interval)

    C'est en fait fondamentalement la même chose que

    movement = setTimeout(function () {
        moveElement(elementID, final_x, final_y, interval)
    }, interval)

    Cela devrait être plus facile à comprendre, non ?

    Cependant, il existe encore des différences entre ces deux méthodes. Généralement, la méthode mentionnée par l'interrogateur n'est pas recommandée. Pour plus de détails, voir window.setTimeout, Exécuter une chaîne en tant que fonction dans javascript setTimeout ?

    .

    répondre
    0
  • Annulerrépondre