当前位置: 首页 > 知识库问答 >
问题:

bind函数返回语句中参数的推理是什么

孙化
2023-03-14

我把这个代码从Leaflet api。

不知道在返回fn.apply(obj,args | | arguments)中args和arguments在做什么

bind: function (fn, obj) { // (Function, Object) -> Function
        var args = arguments.length > 2 ? Array.prototype.slice.call(arguments, 2) : null;
        return function () {
            return fn.apply(obj, args || arguments);
        };
    },

共有1个答案

濮阳鸿卓
2023-03-14

如果您使用2个以上的参数调用bind,那么它将存储这些参数。当您调用bind返回的函数时,它将使用这些参数调用它。

如果您使用2个或更少的参数调用bind,那么当您调用bind返回的函数时,它将使用您当时传递的参数调用它。

这似乎不是bind的正确实现。如果需要绑定多边形填充,请使用MDN中的绑定多边形填充

 类似资料:
  • 问题内容: 我刚刚学习(正在学习)函数参数在Python中的工作方式,并且在没有明显原因的情况下开始进行实验: 给出了输出: 哪里来的?还有,这是什么? 问题答案: 它是函数的返回值,您可以将其打印出来。如果没有语句(或者只是没有参数的),则将隐式添加到函数的末尾。 您可能想返回函数中的值,而不是打印它们:

  • 问题内容: 我编写了一个打印表格的程序。我没有在主函数中包含返回语法,但是无论何时我键入echo $?它显示12。 我的源代码: 我尚未编写return 12,但每次执行程序时它仍返回12。 谢谢。 问题答案: 正如swegi所说,这是未定义的行为。 正如史蒂夫·杰索普(Steve Jessop)等人所说,在C89之前,它是一个未指定的值,并在C99中指定(观察到的行为与C99不符)。 在大多数环

  • 我正在运行以下代码,试图删除不存在的“尖叫”: 控制台日志显示以下内容: 我希望函数在404响应时停止执行,但似乎块都是在block之外执行的。为什么会这样?

  • 问题内容: 我在从golang的if语句中返回函数的预期return语句时遇到麻烦。 我提供了以下代码: 主函数是否应该打印出随机函数返回的字符串值?我得到的是 有人知道如何实现这一目标吗? 问题答案: 即使该函数从未返回值,您也必须在末尾添加一个: http://play.golang.org/p/XFsPL2G15R

  • 问题内容: 我是Java的新手,这是什么意思?像吗? 如果第二个返回true,将不会执行,对吗? 问题答案: Return语句跳过功能范围的其余执行。 值得读: :http : //docs.oracle.com/javase/tutorial/java/javaOO/returnvalue.html :http : //docs.oracle.com/javase/tutorial/java/n

  • 这是我的代码行,我得到一条警告:“函数返回non void时没有返回语句警告”,我将total声明为:static int total; 有什么建议我如何摆脱警告?