Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Basto

o que é binding?

Recommended Posts

eu li uma explicação em algum site ai mas não entendi mt bem.. eu sei q eh alguma coisa ligada ao scopo do script.. como se fosse uma gambiarra pra o this funcionar em alguns casos.. mas ainda nao axei uma explicação que me fizesse entender direito.. se alguem souber.. por favor postem ai.. valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

HUmm ... nesses exemplos binding seria adicionar um método/função em um escopo global.

 

Não sei afirmar se é uma particularidade do Javascript, mas em outras linguagens não tenho problemas com orientação a objetos. O javascript é deficiente em algumas partes, por exemplo, não é possível descobrir qual o nome da classe a que o objeto pertence, a menos que você passe o nome como um parâmetro.

 

Os exemplos que você passou explicam muito bem sobre escopo. O segundo link inclusive tem exemplos muitos bons, e engraçados ... rs

 

A princípio eu achei que você se referia a block scope, como existente em C:

(function() {	var b = 3;	a += b;})();

Seria uma maneira de manipular dados em um contexto único, sem alterar dados fora dele.

 

Além do escopo das variáveis explicados no segundo link postado, basicamente o uso do this funciona assim, nesta função de exemplo:

function muda() {   this.style.color = '#cc0000';}

Neste caso, o this pode funcionar como também pode não funcionar. Depende muito de como você aplica a função e de qual navegador será executado. Exemplos que funcionam:

element.onclick = mudaelement.addEventListener('click',muda,false)element.onclick = function () {this.style.color = '#cc0000';}<element onclick="this.style.color = '#cc0000';">

E neste não funciona:

element.onclick = function () {muda()}element.attachEvent('onclick',muda)<element onclick="muda()">

Os primeiros exemplos funcionam porque ao adicionar a função, será criada uma cópia da mesma, então o this fará referência ao objeto HTML, já nos outros exemplos é criada uma referência à função, então o this é referente ao objeto global, ou seja, a janela (window). attachEvent é exclusivo do IE, enquanto addEventListener funciona nos outros. Em alguns casos é praticamente impossível saber qual elemento está chamando a função.

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu pela explicaçao... vo dá umas bulida aki pra entender melhor..mas basicamente eh como você falou neh.. faser uma variável local ser global.. tipo uma gambiarra pa funcionar o codigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.