gpt4 book ai didi

Javascript,获取绑定(bind)函数的名称

转载 作者:行者123 更新时间:2023-11-30 15:58:36 24 4
gpt4 key购买 nike

我创建了一个函数并按如下方式绑定(bind)了参数。

function myFunc(){}

let boundFunc = myFunc.bind(argument);

但随后我将这个绑定(bind)函数作为参数传递给另一个函数,我需要在其中获取名称。以下内容:

function doTheThing(callable){
console.log(callable.name + " did the thing");
}

doTheThing(boundFunc);

打印出 bound 做了这件事 而不是 myFunc 做了这件事。有没有办法获取绑定(bind)函数的名称?


callable.caller 导致 Uncaught TypeError: 'caller' and 'arguments' are restricted function properties and cannot be accessed in this context. 并且不是浏览器标准。

最佳答案

Google Chrome v 51.0.2704.103 给出了不同的结果:

function myFunc(){}

let boundFunc = myFunc.bind(null);

function doTheThing(callable){
console.log(callable.name + " did the thing");
}

doTheThing(boundFunc);

它打印出 bound myFunc did the thing,因此您可以使用 callable.name.substring(6) 获取原始名称

关于Javascript,获取绑定(bind)函数的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38094836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com