- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
很多时候我看到如下语句
Y.CustomApp.superclass.render.apply(this, arguments);
我知道应用是如何工作的。根据 MDN
Calls a function with a given this value and arguments provided as an array.
但为什么不直接调用方法呢?
最佳答案
您使用 apply()
的原因是以下之一或两者:
this
在函数被调用时以某种特定方式绑定(bind)。如果您出于某种原因在数组中得到了一个值列表,并且您知道这些值正是要传递给函数的值,您还会做什么?像这样的东西:
if (array.length == 1)
theFunction(array[0]);
else if (array.length == 2)
theFunction(array[0], array[1]);
else ...
显然很糟糕。
如果您知道要将 this
绑定(bind)到某个对象,那么您总是可以将该函数设为该对象的临时属性并通过该对象调用该函数,但这也很糟糕.如果所有您需要做的是绑定(bind)this
,并且参数不在数组中,那么您的替代方法是使用.call()
而不是 .apply()
。
关于Javascript:什么时候应该使用 function_name.apply ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9841520/
createHiveBackground 函数返回我要分配给状态的对象数组。稍后在我的应用程序中,我将使用 setHive 来更改数组的一些值。这些有什么区别? const [hive, setHiv
当我使用 window.onload=function name() 其中 function_name 是一个 javascript 函数时,该函数没有被执行。但是当我使用 window.onload
我的类结构是这样的。 class A(): def __init__(self): self.matched_condition_set = set() def add
很多时候我看到如下语句 Y.CustomApp.superclass.render.apply(this, arguments); 我知道应用是如何工作的。根据 MDN Calls a functi
真的很抱歉这个极其愚蠢的标题,但如果我知道它是什么,我就不会写在这里 (: def some_decorator( func ): # .. class A: @some_decora
void foo(int a) { cout <
我目前正在做一个 python 教程,但他们使用 IDLE,我选择在终端上使用解释器。所以我必须找出如何导入我创建的模块。一开始我试过 import my_file 然后我尝试自己调用模块内部的函数,
假设我有两个 x86 汇编语言函数定义为: .globl func_name1; .type func_name1, @function; .align 2; func_name1: /
我们有以下工作测试示例: "use strict"; var should = require("chai").should(); var multiply = function(x, y) {
我有一个上传文件按钮。 注意:onclick="getFile()" 因此,当单击 btn 时,将调用 getFile() 函数。 HTML click to upload
我正在开发一个程序,该程序将文件中的高度值读取到二维数组(矩阵)中,并且我试图将该数组传递给另一个找到最大值的函数。我知道,默认情况下,数组是通过引用传递的,但我并没有试图在函数中更改数组的值,所以这
这是 utils.hpp 中定义的函数原型(prototype)声明(非 OOP,因此不在任何类中) static void create_xy_table(const k4a_calibration
找到一个好的标题有点困难,如果这个标题具有误导性,我们深表歉意.. 我想编写一个函数,它将接受其他函数(及其可能的参数)以及其他参数。 例如我有以下功能: def f1(): pass def
我想将一个 HTML 页面(组件)用于另一个组件。但是我找不到点击事件。 Dashboard.component :- import { Component, OnInit, AfterViewIni
所以这是代码: #include #include void draw(int length, char brush); int stringLength(char name[]); void d
我有一个用 C 编写的开源项目,正在学习用 C++ 包装它。 C 中使用的所有函数都在 header 中定义,并且我已将 C++ 代码中的这些函数链接为静态库(具有 include 和 lib 文件)
这个问题在这里已经有了答案: Know JavaScript Function Expression vs Function Declaration, but what is this? Named
我从 Windows 转到了 Ubuntu,我想在 Ubuntu 上尝试一些 C++ 编程。所以这是非常简单的代码和非常愚蠢的错误,我无法解决: 马.h #ifndef _horse_ #define
import networkx as nx #@UnresolvedImport from networkx.algorithms import bipartite #@UnresolvedImpor
在名为 ::foo() 的函数中,我不明白语法的用途。如果它是 foo::count_all() 那么我知道 count_all 是类或命名空间 foo 的函数。 在 ::foo() 的情况下,::
我是一名优秀的程序员,十分优秀!