faeldix:
faeldix:
vi esse codigo no video: http://www.youtube.com/watch?v=Mauiqv-jC-U
porem nao entendi como a funcao que ele criou funciona.. pra que vc nao precise ver toda o video eu vou copiar aqui:
var frutas = ['abaxaxi','melao','bacuri'];
function todos(elem,ind,obj){
return (typeof elem == 'string');
}
alert(frutas.every(todos));
Primeiro:
Ele utilizou a funcao todos() sem usar o '()' segundo sao necessario 3 parametros.. ME PARECE que ele so usa um.. como funciona essa funcao every()?
Vamos lá, em javascript você pode usar funções como parâmetro de outras funções.
Na verdade, funções podem ser tratados como outros objetos.
Por isso pode fazer coisas assim:
function umaFuncaoNormal() {
alert('teste');
}
var f = umaFuncaoNormal; //associo a f a função umaFuncaoNormal
f(); // aqui é equivalente a chamar umaFuncaoNormal
function recebendoFuncaoComoParametro( algumaFuncao ) { //essa funcao recebe outra funcao como parametro ...
algumaFuncao(); algumaFuncao(); // ... e aqui ela executa a função que recebeu 2x;
}
recebendoFuncaoComoParametro( f ); // aqui ela vai chamar aquele alert 2x
Voltando ao seu código, quando ele usa todos sem (), ele não está executando a função, apenas passando como parâmetro.
A função every é aplicada sobre um array.
Para cada elemento do array, ela usará a função que passou como parâmetro (todos).
Se para todos elementos, essa função retornar true, a função every retorna true.
Se para algum elemento retornar false, ela nem processa o resto do array e retorna false.
Em resumo, você pode ler seu código como: Se todos elementos do array for do tipo string, every retornará true.