gpt4 book ai didi

javascript - 有没有一种方法可以可变地命名函数

转载 作者:行者123 更新时间:2023-11-28 10:52:02 25 4
gpt4 key购买 nike

我想为新函数分配一个不同的名称,这可能吗?

function returnFunctionWithName(str){
return function(){
return srt
}
}

var x = returnFunctionWithName("hello")

console.log(x) // => [Function]

我想要的是这样的:(这不起作用)

function returnFunctionWithName(str){
return function [str](){
return srt
}
}

var x = returnFunctionWithName("hello")

console.log(x) // => [Function: hello]

刚刚也尝试过,但没有效果:

function returnFunctionWithName(str){
var x = function(){
return str
}
x.name = str
return x
}

var x = returnFunctionWithName("hello")

console.log(x) // => [Function: hello]

最佳答案

从技术上讲,您可以设置函数的 name属性如下:

Object.defineProperty(theFunction, 'name', {
get: function() {
return 'NewFunctionName';
}
});

但是,我不知道这是否能解决您的问题,就像我的 quick tests 中那样当 console.log 时,这实际上并没有呈现预期的名称'ing 函数。

原因是x.name = str不起作用的是Function#name isn't writable 。然而,它是“可配置的”,这意味着您可以通过 Object.defineProperty() 来修改它。 .

关于javascript - 有没有一种方法可以可变地命名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31623059/

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