gpt4 book ai didi

javascript - 保持你的 javascript 结构化和整洁(作为一个 OO 程序员)

转载 作者:数据小太阳 更新时间:2023-10-29 04:41:06 24 4
gpt4 key购买 nike

我最近一直在玩 javascript、HTML5、chrome 扩展、jQuery 和所有这些好东西。到目前为止,我对 javascript 的可能性印象深刻,我唯一遇到的困难是构建我的代码并保持代码整洁。在我不知不觉中,功能散落在各处。我一直以面向对象的方式(C++ 和 C#)进行编程,但我发现自己无法保持整洁。如果我在 C# 中“思考”,感觉我总是以一堆静态 util 函数结束。

我一直在寻找有关 javascript 中对象的一些信息,但它 seems to come down to wrapping functions in functions.这是构建代码库的好方法吗?从表面上看,它似乎有点 hackish。还是有其他方法可以让面向对象的思维方式保持整洁?

最佳答案

关于 Javascript 要记住的一个重要方面是它是一种原型(prototype)语言。函数可以是对象,任何东西都可以放在对象上,往往会影响过程中的相关对象。因此,没有正式的方法来“扩展”对象。这是一个我仍然很难理解的概念。

在大多数情况下,Javascript 的“行为”与任何其他 OOP 语言一样,但有一些异常(exception),即扩展对象 (http://jsweeneydev.net84.net/blog/Javascript_Prototype.html)。

经过大量研究,我确实找到了一种非常非常轻量级的方法来模拟扩展对象(我在我的 GameAPI 中使用它)。第一个字段是父对象,第二个是展开的对象。

extend  : function(SuperFunction, SubFunction) {

//'Extends' an object

SubFunction.prototype = new SuperFunction();
SubFunction.prototype.constructor = SubFunction;
},

此链接可能会澄清一些问题和误解: http://www.coolpage.com/developer/javascript/Correct%20OOP%20for%20Javascript.html

就个人而言,我倾向于反对框架,而且我还没有看到一个框架无论如何都不会强制程序员在这方面显着改变他们的编程风格。如果您找到一个,您将拥有更多的力量,但很可能您并不真正需要一个。

我最好的建议是尝试适应 Javascript 的原型(prototype)风格,而不是强加于它的旧方法。我知道这很棘手;我还在为自己努力。

祝你挖火好运。

关于javascript - 保持你的 javascript 结构化和整洁(作为一个 OO 程序员),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8673696/

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