Resposta 1º desafio
Categories: Ajax, WEB 2.0
-
Semana passada postei um desafio em javascript para testar o conhecimento teórico dos meus amigos, somente o Coutinho respondeu:
ou mais bonitinho:
E acertou. Consertou o problema que propositadamente fabriquei e deu uma solução que é a mais simples e portanto a melhor: usar um objeto literal.
Vejamos:
Objetos literais são a definição de objetos na especificação ECMA-262, a especificação do JAVASCRIPT.
"An object is a member of the type Object. It is an unordered collection of properties each of which contains a primitive value, object, or function. A function stored in a property of an object is called a method."
Ela define que um objeto é uma coleção não-ordenada de propriedades onde cada propriedade contém um valor primitivo, um outro objeto ou uma function e uma function armazenada em uma propriedade dessa coleção é denominada de método. Segundo a especificação as propriedades (properties) são campos (Fields) que representam o estado e métodos (methods) que representam o comportamento.
Então a estrutura primordial de um objeto, também chamado de objeto literal é da forma que ele respondeu, que seria assim:
Outra forma muito usual pela NEW SCHOOL é instanciar uma function (lembrando que toda Function é um objeto) utilizando o paradigma de construtor com parêntesis após a construção, e utilizar a KEYWORD return para exportar o contexto e isolar o conteúdo interno de códigos maliciosos, já que os métodos apply e call não funcionam nesse tipo de estrutura, criando variáveis privadas (já que só existe o escopo público na ECMAScript).
Portanto se você tentar usar a estrutura abaixo, vai falhar porque o objeto "obj" não é uma função, já que foi transformado em objeto literal artificialmente:



October 14th, 2007 at 10:25 am
Poxa, Bem legal esse desafio!
Eu gostei e aliás eu até aprendi LoL
=)