问题标签 [function-binding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
91 浏览

javascript - Javascript:为什么我可以访问 Function.prototype.call 而无需提及原型?

这是一个片段来解释我的问题:

Function.call工作,但String.toUpperCase没有。我必须改为写,String.prototype.toUpperCase.

0 投票
2 回答
247 浏览

javascript - Mapbox - 无法将删除功能绑定到每一层

我在将删除函数绑定到从 kml 文件加载的每一层(多边形)时遇到问题(甚至只是从数据库中存储的坐标)。它仅适用于第一次点击 - 我点击的第一层。之后它不适用于其他图层,似乎在第一次单击后被禁用。

当我把 bindPopup 函数放在那里时,它适用于每一层,并且弹出窗口出现,或者 console.log(this) 显示每个点击层的对象详细信息。所以我不明白为什么 removeLayer 也不适用于每一层。

我想我在这里缺少一些关于javascript的知识,你能指教吗?

(KMLfile 是谷歌制作的一个文件扩展名,用于从谷歌地球应用程序中提取区域/位置/等)

加载 KML 文件的代码:

0 投票
2 回答
109 浏览

javascript - 类方法中的上下文作为变量

有一个类作为例子:

等等。

问题:如何将上下文导入findByIndex

例如,我需要findByIndex在另一个类中用作函数。我知道它应该是bind,但是如何在我的课堂上使用它?

///////////////////////////////////////////////////////////这是方法

这是另一个使用方法迭代器的类:

如您所见,第二类没有方法迭代器。但最后它应该使用迭代器,比如所有者(带有上下文(this - L.Book))

0 投票
2 回答
4483 浏览

javascript - 绑定和事件处理程序——传递事件对象

我有一些示例代码绑定事件处理程序,如下所示:

当事件处理程序被触发(通过单击h1元素)时,输出是一个event对象,正如预期的那样。

如果我按如下方式绑定事件处理程序:

我得到相同的结果。

但是,如果我按如下方式绑定它:

我明白1了,第一个参数后h1。在所有情况下, 的值this都正确设置为h1,但在最后一种情况下,传递的参数似乎替换了预期的事件对象。

如何在不将事件处理程序重写为函数表达式的情况下保留事件对象?

0 投票
2 回答
272 浏览

jquery - 将命名函数与内部的 jQuery ajax 绑定时出现 404 错误

单击按钮时执行 ajax 请求工作正常,按预期返回。但问题是当我尝试将函数绑定到内部带有 ajax 请求的元素时。

该函数在此 url 上给我 404 错误,但文件存在(相同的服务器,相同的域......)

“d_more_hotels”函数中的 jQuery.ajax 函数在 url 中给出 404 错误,但文件存在。

我检查了所有变量并记录日志以查看使用的完整 url 参数,但一切似乎都很好。

在 WordPress 最新版本框架下工作。

:S

任何帮助都将不胜感激。

编辑:

在这里找到解决方案https://stackoverflow.com/a/3445620/3676282

WordPress功能混乱

0 投票
3 回答
9514 浏览

java - Can Java lambdas bind methods to their parameters?

How to pass a method as a parameter using lambdas is discussed here:
Java Pass Method as Parameter

In other languages, namely C++, it is possible to bind a function to it's parameters using Lambdas - discussed here:
Bind Vs Lambda?

Is it possible, in Java, to bind a method using lambdas?

If so, how would you accomplish this?

Edit >>>>

An example, by request, of what I am generally trying to do:

Be warned, there is pseudo code here.

}

Bare in mind, I'm not looking for 'another way to accomplish this functionality' - this example is to illustrate a general way in which I would like to use functions as parameters, and to bind parameters to those functions.

Edit>>>

Attempt using anonymous classes:

0 投票
0 回答
42 浏览

javascript - JavaScript Function.bind():默认这个参数

bind方法的第一个参数是新this值。问题是这似乎取代了自然this值。特别是,如果用于事件侦听器,则不再是触发元素。

例如:

现在我知道在这种情况下我可以将第一个参数设置为元素h1;我也可以event.target用来获取实际目标。但是,这并不总是很方便,例如在将事件侦听器分配给多个或匿名元素时。

问题是,有没有一种简单的方法来告诉bind使用默认值this

谢谢

注意:这并不是严格意义上的重复Use bound this 和 this of function scope in a function bound with bind() as (a) 问题询问是否可以绑定多个版本this和 (b) 接受的答案涉及使用event.currentTarget我自己提到过的方法或编写一种新方法,这不是我要问的。

但是,答案可能是否定的,无法完成,因此我不会寻求重新提出问题。

0 投票
2 回答
1309 浏览

javascript - console.log() 在控制台以外的对象上调用

我记得总是当我想作为回调参数传递给某个函数时,除非我使用该方法绑定到它,console.log否则它不起作用。bind()console

例如:

请参阅Uncaught TypeError: Illegal invocation in javascript

但是,最近我注意到console.log()即使在控制台以外的对象上调用它也能正常工作。例如:

日志'test'

何时以及为何改变?规范是否对此有任何说明?

0 投票
3 回答
19001 浏览

reactjs - JSX 道具不应使用 .bind()

当我以这种方式绑定时如何解决此错误:先前在构造函数中的绑定已解决,但这对我来说有点复杂:

0 投票
1 回答
80 浏览

javascript - 如何在变量中缓存 HTMLElement.focus?

focus将 HTMLElement的函数存储在变量中的正确上下文是什么?

我试过了,