• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Gurzi

what ? Para que são estes parentesis?

4 mensagens neste tópico

<script type="text/javascript">
(function() {
    var fade = function() {
        YAHOO.util.Dom.setStyle('foo', 'opacity', 0.5);
    };

    YAHOO.util.Event.on('demo-run', 'click', fade);

    YAHOO.log("The example has finished loading; as you interact with it, you'll see log messages appearing here.", "info", "example");

})();

</script>

Alguem faz ideia para que é que a function está dentro de parentesis e o que são aqueles () no fim antes do </script> ??

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é uma função anónima, uma característica bastante útil do JavaScript, evita que tenhas problemas de estar a redefinir funções. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim, mas qual é a finalidade ??

ok, eu até percebo que nunca mais a vás chamar a função, mas o que são aqueles () no fim ???

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

São para executar... Esta parte:

(function() {
    var fade = function() {
        YAHOO.util.Dom.setStyle('foo', 'opacity', 0.5);
    };

    YAHOO.util.Event.on('demo-run', 'click', fade);

    YAHOO.log("The example has finished loading; as you interact with it, you'll see log messages appearing here.", "info", "example");

})

devolve uma função anónima. Para a chamares, é só pores os (); à frente... É o mesmo que atrabuires essa parte a uma variável e depois fazeres variavel(); :)

A finalidade disto é "imitar" os lambda's de Python e de todas as linguagens funcionais. Usa-se essencialmente para poderes redefinires funções noutro ficheiro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora