O documento discute conceitos fundamentais de JavaScript como prototipação, closure, encapsulamento e escopo. A prototipação permite herdar propriedades de objetos existentes para novos objetos. Closure permite que funções internas acessem variáveis externas mesmo após a função externa ser concluída. Encapsulamento protege o acesso direto a dados através do uso de funções. Escopo determina a visibilidade e acessibilidade de variáveis.
10. Prototype
> Object.prototype
Object
> go = {}
> go.say
undefined
> Object.prototype.say = function() {
console.log(‘no, and no, and no’);
}
> go.say
function() { ... }
> go.say()
no, and no, and no
> go.toString()
A mais mal compreendida das linguagens, malditos form validations.\nTem mais boas partes do que parece.\n
A mais mal compreendida das linguagens, malditos form validations.\nTem mais boas partes do que parece.\n
É muito simples criar um objeto em javascript (object literal)\n
Um objeto pode ter propriedades, dot-notation funciona sob certas condições...\n
Funções são, na verdade, objetos.\nObjetos podem ter propriedades, que podem ser funções.\nPodem ser invocadas via sintaxe especial...\n
guardo em variáveis e invoco com o método apply.\n
JavaScript tem mecanismo de herança SIM, várias formas de implementar isso, uma delas é via prototipagem\n
Podemos adicionar propriedades dinamicamente a um objeto, mesmo que ele já exista.\n
Não existem classes em javascript, Object na verdade é uma função\n
Alteramos o prototype de Object, que na verdade é uma função...\n\nE todo objeto tem referência oculta a esse prototype, por isso agora todo objeto tem a função say.\n
Por isso é possível fazer alterando o prototype de uma função e construindo objetos dela.\n
Toda variável criada fora de uma função (ou sem a palavra var) é global.\n
só dentro da função miolos é possível acessar a função pensa.\nescopo de função\n
Todo objeto javascript é passado via referência, sem cópias quando passado como param.\n
Se alterarmos um objeto que foi retornado, ainda que ele esteja escondido pelo escopo de função, vamos alterar a referência.\n
Podemos nos aproveitar da memória...\nUma função se lembra o contexto onde foi criada. CLOSURE.\n
o objeto elefante se lembra do objeto bijeto\n
Agora tem outras questões (tá criando muito objetos). Mas funfa =)\n