首页 > web前端 > js教程 > 正文

您可以在 JavaScript 中使用运行时确定的名称创建命名函数吗?

Linda Hamilton
发布: 2024-11-14 10:09:01
原创
640 人浏览过

Can You Create a Named Function in JavaScript with a Runtime-Determined Name?

使用运行时确定的名称而不使用 eval 创建函数

问题:

是否可能在纯 JavaScript 中创建命名函数而不使用 eval 或非标准功能,其中该函数名称是在运行时确定的?

答案(仅限 ES6):

是的,在 ES6 及更高版本(又名“ES2015”)中,可以使用匿名函数表达式分配给计算对象属性名称。

const dynamicName = "foo" + Math.floor(Math.random() * 1000);
const obj = {
    [dynamicName]() {
        // ...
    },
};
const f = obj[dynamicName];
console.log("Function's `name` property: " + f.name); // Outputs "foo###", where ### is a random 1-3 digit number
登录后复制

在此示例中,我们使用计算属性名称来动态生成随机名称的功能。该函数被分配给对象属性,并且可以通过 name 属性访问其名称。但请注意,浏览器兼容性可能会有所不同,并且某些浏览器可能不会在堆栈跟踪中显示动态函数名称。

以上是您可以在 JavaScript 中使用运行时确定的名称创建命名函数吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板