Javascript 带有null参数的call()函数
我是Javascript新手。在下面的示例中,我不理解Javascript 带有null参数的call()函数,javascript,Javascript,我是Javascript新手。在下面的示例中,我不理解call()函数的用法: 为什么有一个null参数?我想那应该是个目标 y.call(null,page,i,pages)之前的+用于什么 我们可以在任何参数括号内赋值吗?当我们分配值=… (i=0;i
call()
函数的用法:
null
参数?我想那应该是个目标y.call(null,page,i,pages)
之前的+
用于什么值=…
(i=0;i
提前谢谢你
null
在调用的调用中,当不需要将任何对象绑定到此
时传递。在这种情况下,您可以直接调用函数
y
前面的+
是将返回值转换为数字的隐式方法
通常,您可以在调用内部执行赋值,但这并不总是一个好主意,因为这样会使代码更难阅读
null
参数?我想那应该是个目标thisArg
thisArg
可选。为调用函数
提供的值。请注意,此
可能不是该方法看到的实际值:如果该方法是中的函数,则将替换为全局对象,并且原始值将转换为对象
此部分用于此
。如果没有给出/或没有必要,则通常使用null
或undefined
y.call(null,page,i,pages)
之前的+
用于什么值=…
是的,但不是一种好的样式,但是很短。
null
在调用的调用中,当不需要将任何对象绑定到此时,会传递。在这种情况下,您确实可以直接调用函数对象
谢谢,这真的很有帮助!大约1.,y函数只返回一个数字,为什么call()甚至有3个参数?它取决于y
,这实际上是未知的。javascript允许对参数进行任意计数,甚至是未声明的参数。我被误解了。我的意思是你只有一个论点;但是call()有3个:函数pageY(d){返回d[1];}
y=pageY
for (i = 0; i < n; ++i) {
if (isNaN(value = +y.call(null, page, i, pages)))
break;
...
}