gpt4 book ai didi

javascript - constructor.name 在 Internet Explorer 中未定义

转载 作者:可可西里 更新时间:2023-11-01 01:58:23 25 4
gpt4 key购买 nike

我在 IE 中的调试工作今天结束,发现 constructor.nameundefined

我创建了以下重现该问题的简单代码:

({}).constructor.name === undefined // => true

是否有任何解决方法可以使此工作正常进行?

也许以某种方式覆盖原型(prototype)?

如果可能的话,我不想更改语法,因为更改会很大。

JSFIDDLE

最佳答案

来自 matt.scharley.me

/**
* Hack in support for Function.name for browsers that don't support it.
* IE, I'm looking at you.
**/
if (Function.prototype.name === undefined && Object.defineProperty !== undefined) {
Object.defineProperty(Function.prototype, 'name', {
get: function() {
var funcNameRegex = /function\s([^(]{1,})\(/;
var results = (funcNameRegex).exec((this).toString());
return (results && results.length > 1) ? results[1].trim() : "";
},
set: function(value) {}
});
}

关于javascript - constructor.name 在 Internet Explorer 中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25140723/

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