A cópia do código é a seguinte:
var json = {
Jarray: [],
jpush: function (c) {
this.jarray.push (c);
}
}
var teste = ["123", "~", "456"];
Use o fore -die dado pelo ES5 para fazer loop o exemplo e adicione -o a Jarray em JSON;
A cópia do código é a seguinte:
test.foreach (json.jpush);
Um erro será relatado neste momento:
O motivo desse erro é que isso no método json.jpush não aponta para o objeto JSON, mas para a janela. A solução para esse problema é encontrar a pessoa certa para isso.
Felizmente, a foreach () fornece um parâmetro especificamente para especificar objetos. Veja o código.
A cópia do código é a seguinte:
test.foreach (json.jpush, json);
alerta (json.jarray); // O resultado é normal, 123 ~ 456
Há outro método:
A cópia do código é a seguinte:
test.foreach (função (c) {
json.jpush (c);
});
alerta (json.jarray); // 123 ~ 456
Você também pode usar o Bind to Bind
A cópia do código é a seguinte:
test.foreach (json.jpush.bind (json));
alerta (json.jarray);
O Bind cria uma nova função em vez de modificar uma função. O comportamento da nova função é o mesmo que a função original, mas seu receptor é o objeto que damos, enquanto o receptor da função original permanece inalterado.
Isso significa que o uso do método de ligação é muito seguro, porque quando uma função ou método é compartilhado, não há necessidade de se preocupar com o fato de o método compartilhado não ser modificado.