gpt4 book ai didi

javascript - __proto__ 已弃用。什么是快速和跨浏览器的替代方案?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:45:57 30 4
gpt4 key购买 nike

如您所知,__proto__deprecated .

MDN: Warning: The __proto__ property is deprecated and should not be used.

__proto__ 的快速跨浏览器替代方案是什么?在我的例子中,我更改了一个函数的 __proto__。所以我找不到任何替代品。

弃用的代码

// one time
var proto = {};
proto.bar = function (x) { return this(x) + 10; };
proto.buzz = function () { return this(4); };
// and 100 more function proto.*
proto = _.extend(proto, (function(){}).__proto__); // underscore extend function
// update: change arguments order

// many time
var foo = function (x) { return 2 * x; }
foo.__proto__ = proto;

慢速替代(jsperf)

// many time
var foo = function (x) { return 2 * x; };
foo.bar = function (x) { return this(x) + 10; };
foo.buzz = function () { return this(4); };
// and 100 more function foo.*

是否有任何快速且跨浏览器的替代方案?

最佳答案

正如链接的 MDN 文章中所述,Object.getPrototypeOf()是新功能。它似乎有很好的浏览器支持。对于那些不支持它的(除了 IE),你可以用 __proto__ 填充它。 ;)

if (!Object.getProtoTypeOf) {
Object.getProtoTypeOf = function(obj) {
return obj.__proto__;
};
}

关于javascript - __proto__ 已弃用。什么是快速和跨浏览器的替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27156976/

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