Aveces si aveces no…
… porque las declaraciones de funciones se izan pero las expresiones de funciones no.
Pero no importa
… porque un método no existe significativamente hasta que una función se vincula a un objeto. De hecho, un método es solo una propiedad cuyo valor es una referencia de función.
Tienes dos formas básicas de configurar esto:
- ¿Cuáles son algunos buenos tutoriales sobre Angular 2 con un marco Django REST?
- ¿Puede un servidor dar JSON como respuesta cuando el navegador exige un archivo .HTML?
- ¿Cuánto AngularJS debe saber para comenzar a construir una aplicación Django-AngularJS?
- ¿Cuál es un buen sitio para mí para crear un sitio web gratuito?
- ¿Cuál es el problema de tomar demasiado tiempo para cargar la página de inicio de mi tienda web?
// ... some other code obj.method(); // TypeError: method is not a function obj.method = function() { // ... }; obj.method(); // works
-o-
// ... some other code obj.method(); // TypeError importantAction(); // works obj.method = importantAction; obj.method(); // works // Define the function which becomes a method. function importantAction() { // ... }
En ambos casos, la función que está vinculando como método estará disponible tan pronto como se ejecute la línea que une. En el segundo caso, la función estará disponible antes porque su declaración se levantó, pero el
se definirá hasta que obj.method
se importantAction
al objeto. La expresión que define obj.method
en el caso 1 no se iza, pero realmente no hace una diferencia ya que el método no está disponible hasta obj.method
se crea una clave llamada method
y se le da un valor. Intentar usar una propiedad que sabes que no está definida siempre va a estar mal. method
Los mismos principios se aplican a los métodos de los prototipos, pero establecer una función como el prototipo de su objeto provoca un comportamiento bastante específico (como hacerlo invocable) que podría no esperar. Mientras eso sea lo que quería, y haya configurado a los padres antes de tener hijos, el proceso de elevación no debería darle ningún problema adicional. Los padres y los niños pueden tener sus propios problemas locales, pero si esos problemas comienzan a cruzar el puente prototipo, entonces es posible que desee echar un vistazo a su diseño.