Javascript 带有null参数的call()函数

Javascript 带有null参数的call()函数,javascript,Javascript,我是Javascript新手。在下面的示例中,我不理解call()函数的用法: 为什么有一个null参数?我想那应该是个目标 y.call(null,page,i,pages)之前的+用于什么 我们可以在任何参数括号内赋值吗?当我们分配值=… (i=0;i

我是Javascript新手。在下面的示例中,我不理解
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;
            ...
            }