gpt4 book ai didi

JavaScript:.extend 和 .prototype 有什么用?

转载 作者:IT王子 更新时间:2023-10-29 02:39:13 26 4
gpt4 key购买 nike

我对 JavaScript 比较陌生,经常在我使用的第三方库中看到 .extend 和 .prototype。我认为它与 Prototype javascript 库有关,但我开始认为情况并非如此。这些有什么用?

最佳答案

Javascript 的继承是基于原型(prototype)的,因此您可以扩展对象的原型(prototype),例如 Date、Math,甚至是您自己的自定义原型(prototype)。

Date.prototype.lol = function() {
alert('hi');
};

( new Date ).lol() // alert message

在上面的代码片段中,我为所有 日期对象(已经存在的和所有新的)定义了一个方法。

extend 通常是一个高级函数,它复制您要从基类扩展的新子类的原型(prototype)。

所以你可以这样做:

extend( Fighter, Human )

Fighter构造函数/对象会继承Human的原型(prototype),所以如果你定义livedie等方法 Human 然后 Fighter 也将继承这些。

更新说明:

“高级函数”意味着 .extend 不是内置的,但通常由 jQuery 或 Prototype 等库提供。

关于JavaScript:.extend 和 .prototype 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3781373/

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