La copie de code est la suivante:
var json = {
Jarray: [],
jpush: fonction (c) {
this.jarray.push (c);
}
}
var test = ["123", "~", "456"];
Utilisez le foreach donné par ES5 pour faire bouclez l'exemple et ajoutez-les à Jarray dans JSON;
La copie de code est la suivante:
test.ForEach (json.jpush);
Une erreur sera signalée pour le moment:
La raison de cette erreur est que cela dans la méthode json.jpush ne pointe pas vers l'objet JSON, mais vers la fenêtre. La solution à ce problème est de trouver la bonne personne pour cela.
Heureusement, Foreach () fournit un paramètre spécifiquement pour spécifier des objets. Voir le code.
La copie de code est la suivante:
test.ForEach (json.jpush, json);
alert (json.jarray); // le résultat est normal, 123 ~ 456
Il existe une autre méthode:
La copie de code est la suivante:
test.ForEach (fonction (c) {
JSON.JPUSH (C);
});
alert (json.jarray); // 123 ~ 456
Vous pouvez également utiliser Bind pour lier
La copie de code est la suivante:
Test.ForEach (json.jpush.bind (JSON));
alert (json.jarray);
Bind crée une nouvelle fonction au lieu de modifier une fonction. Le comportement de la nouvelle fonction est le même que la fonction d'origine, mais son récepteur est l'objet que nous donnons, tandis que le récepteur de la fonction d'origine reste inchangé.
Cela signifie que l'utilisation de la méthode de liaison est très sûre, car lorsqu'une fonction ou méthode est partagée, il n'est pas nécessaire de craindre que la méthode partagée ne soit pas modifiée.