Javascript-为什么调用方法不能正常工作?
请参阅- 为什么第一个警报未定义?它不应该提醒3吗?的第一个参数。call必须是该方法的所有者对象:Javascript-为什么调用方法不能正常工作?,javascript,call,Javascript,Call,请参阅- 为什么第一个警报未定义?它不应该提醒3吗?的第一个参数。call必须是该方法的所有者对象: a1.y.call(a1); 发生什么事了 当您自然地调用方法(例如a1.y)时,该方法的值将自动设置为对象(例如a1) 当使用函数而不是作为方法时,例如var x=a1.y;x、 ,;,该值为全局/窗口对象,或为null,具体取决于您是否处于严格模式 .call方法它是函数的一个方法,它是显式设置this值的一种方法,而不是自动赋值。使用.call时,您必须自己提供this值作为第一个参数。
a1.y.call(a1);
发生什么事了
当您自然地调用方法(例如a1.y)时,该方法的值将自动设置为对象(例如a1)
当使用函数而不是作为方法时,例如var x=a1.y;x、 ,;,该值为全局/窗口对象,或为null,具体取决于您是否处于严格模式
.call方法它是函数的一个方法,它是显式设置this值的一种方法,而不是自动赋值。使用.call时,您必须自己提供this值作为第一个参数。的第一个参数。call必须是方法的所有者对象:
a1.y.call(a1);
发生什么事了
当您自然地调用方法(例如a1.y)时,该方法的值将自动设置为对象(例如a1)
当使用函数而不是作为方法时,例如var x=a1.y;x、 ,;,该值为全局/窗口对象,或为null,具体取决于您是否处于严格模式
.call方法它是函数的一个方法,它是显式设置this值的一种方法,而不是自动赋值。当使用.call时,您必须自己提供this值作为第一个参数。因为您在调用中没有将预期的this参数作为参数发送,所以在该函数中未定义该参数
如果您没有传递任何参数来调用,那么就不需要使用它。只需调用对象上的方法。,因为您在调用中没有将预期的this参数作为参数发送,因此该参数在该函数中未定义
如果您没有传递任何参数来调用,那么就不需要使用它。只需调用对象上的方法。Change a1.y.call=>a1.y.calla1;为什么要这样做?更改a1.y.call=>a1.y.calla1;为什么要这样做?如果不传递对象,则会得到未定义的对象,如果不使用严格模式,则会得到这样的窗口对象。如果不传递对象,则会得到未定义的对象,如果不使用严格模式,则会得到这样的窗口对象。