En JS, este punto debe ser un problema difícil para los novatos, pero si realmente lo entiende, no habrá ningún problema. Hablemos de esto a continuación.
En JS, el valor de esto depende del patrón de la llamada (el objeto de llamada), y hay 4 tipos de patrones de llamadas en JS:
1. Modo de llamada de función
Cuando una función no es la propiedad de un objeto, se llama como una función dos veces. En este momento, esto en la función apunta al objeto global (en el caso de un gran logaritmo, es ventana)
Window.Value = 1; function getValue () {console.log (this.value);} getValue (); // Salida 1, este punto a la ventana2. Modo de llamado de método
Cuando una función es la propiedad de un objeto, lo llamamos un método del objeto. Cuando se llama a un método, esto apunta al objeto
var obj = {value: 2, getValue: function () {console.log (this.value); // salida 2, esto apunta a obj}}! ! ! En este modo, la unión de esto al objeto ocurre cuando se llama al método
3. Modo de llamada de constructor
La función llamada con New se llama función de constructor. En este momento, esto apunta al objeto que proviene de la instancia de la función del constructor
función main (val) {this.value = val;} main.prototype.getValue = function () {console.log (this.value);} var fun las4. Aplicar/llamar al modo de llamada y vincular
Los métodos de aplicar, llamar y enlace nos permiten establecer a quién señala esto en la persona que señala
función showValue () {console.log (this.value);} var obj = {valor: 4} showValue.call (obj) // Salida 4, esto apunta al objeto OBJSe ha agregado un nuevo método de enlace en ECMA5. Puede buscar en Google el uso específico. Aquí hay una demostración del uso de esta vinculación.
función showValue () {console.log (this.Value);} var obj = {value: 4} var showValue2 = showValue.bind (obj); showValue2 () // salida 4, esto apunta al objeto objHay muchos usos de Bind, puedes comprobarlo por ti mismo.
El cliché anterior habla de esto en JS es todo el contenido que comparto con ustedes. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.