首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript / Prototype

Javascript / Prototype
EN

Stack Overflow用户
提问于 2015-11-04 19:28:32
回答 3查看 111关注 0票数 1

我有一个关于JavaScript的问题。我知道如何使用prototype,以及为什么使用它,但我试图回答这个问题,如果我在这样的函数中使用prototype会发生什么,

代码语言:javascript
运行
复制
var Command = function () {
    var text = 'Hello World';

    Command.prototype.run = function () {
        console.log(text);
    };
};

var command = new Command();
command.run();

现在我也可以使用私有函数或变量了。我有用原型构建的例子,所有的变体都有,它表明我在哪里使用jsFiddle似乎没有什么区别。但我是不是上锁了?

EN

Stack Overflow用户

发布于 2015-11-04 21:09:29

如果在函数内部的函数原型上设置run()函数,则每次运行函数时都会重新定义该函数。

这是没有意义的(因为你可以只定义另一个函数,而不是设置原型),效率低下(因为你一遍又一遍地做相同的工作),另一个看着你的代码的开发人员不会理解你为什么要这样做,而你可以在函数之外定义它。

这就是为什么你看不到其他人这样做的原因。在原型上的函数外部定义run()只需定义一次。这是惯用的JS,例如。MDN

我没有意识到这样做有任何技术上的问题。

票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33520666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档