Estoy aprendiendo Javascript, he estado usando PHP durante aproximadamente 10 años, así que tengo un poco de conocimiento de Javascript, sobre todo simplemente usando jQuery y hackándolo juntos, creo que es hora de esforzarme en aprenderlo mejor así que he estado leyendo sobre eso.Funciones y objetos de Javascript
A continuación se muestran mis ejemplos de definición y llamada de algunas funciones.
Método 1
function testFunction1() {
console.log('TestFunction1() was ran');
}
testFunction1();
Método 2
var testFunction2 = function() {
console.log('TestFunction2() was ran');
}
testFunction2();
Método 3
var TestFunction3 = {
flag: function() {
console.log('TestFunction3.flag() was ran');
},
unflag: function() {
console.log('TestFunction3.unflag() was ran');
}
};
TestFunction3.flag();
TestFunction3.unflag();
Método 4
var TestFunction4 = {
Like: {
comment: function() {
console.log('TestFunction4.Like.comment() was ran');
},
user: function() {
console.log('TestFunction4.Like.user() was ran');
}
},
Unlike: {
comment: function() {
console.log('TestFunction4.Unlike.comment() was ran');
},
user: function() {
console.log('TestFunction4.Unlike.user() was ran');
}
}
};
TestFunction4.Like.comment();
TestFunction4.Like.user();
TestFunction4.Unlike.comment();
TestFunction4.Unlike.user();
Ok, así que entender el método 1 y 2 para ser sólo una llamada a la función básica.
1)
Método 3 y 4 son donde comienzan mis preguntas, desde otro puesto y de la lectura, no se puede saber si estos todavía se consideran una función básica de los espacios de nombre aplicado, o si ésta se consideraría como objetos?
2)
que he visto donde a veces un objeto sería llamado con la palabra new
sin embargo funcionando todo esto en el navegador funciona bien, así que supongo que esto no es un objeto? Si no es un objeto, ¿cómo lo convertiría en un objeto?
3)
Ejemplo 3 y 4 son prácticamente lo mismo con la excepción de que el ejemplo 4 ha funciones definidas por 1 nivel más profundo a continuación, el ejemplo 3, es allí un nombre para el ejemplo 3 y 4 o son considerados lo mismo?
4)
Por último de los 4 ejemplos, ¿se prefiere alguno de estos 4 métodos sobre el otro?
Lo siento por todas las preguntas en 1 pero todas están relacionadas y no creo que deba comenzar 4 preguntas separadas para esto.
Es probable que se beneficiarán de la lectura: http://bonsaiden.github.com/JavaScript-Garden/ y al menos revisar el [estándar ECMAScript] (http: //www.ecma-international.org/publications/standards/Ecma-262.htm). –
Todo es un objeto, excepto 'null' y' undefined'. – zzzzBov
Si tiene tiempo libre, eche un vistazo a [The Good Parts] (http://www.amazon.com/exec/obidos/ASIN/0596517742/wrrrldwideweb) de Douglas Crockford. Relativamente breve libro, después de leerlo, la respuesta a sus preguntas debe ser clara, creo. – Jeroen