Javascript OOP最佳做法?

前端之家收集整理的这篇文章主要介绍了Javascript OOP最佳做法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Javascript中看到几十种不同的面向对象编程的方式,我感到厌烦.任何人都可以告诉我,考虑到我想在大型项目上工作,我应该使用哪种技术,我希望我的代码是未来的证明?

解决方法

这些只是我提出的一些快速指导方针,如果任何人有任何有意义的添加,我已经将此答案设置为一个社区wiki,所以应该很容易编辑.

>将对象命名为空,以确保它们不会与第三方JavaScript库发生冲突.

window['Andrew']['JS'] = {
    addEvent: function(el,evName) {/*Stuff*/},Rectangle: function(width,height) {/*Stuff*/}
};

那么您将使用以下方式创建一个矩形对象:

var myRect = new Andrew.JS.Rectangle(14,11);

然后你的代码永远不会干扰,或者被任何人的Rectangle干扰.

>使用一致的命名策略,具体来说:

>对象名称应该被大写,所有其他(变量,函数)应该以小写字母开头,即

var myRect = new Andrew.JS.Rectangle(14,11);
document.write(myRect.getArea());


>确保一切都是有意义的,即方法的动词,参数的名词形容词.

>确保所有的方法和参数与它们所属的对象相关.例如

在这个例子中,矩形的区域可以使用inSquareFeet()方法转换为平方英尺.

myRect.getAreaObject().inSquareFeet();

确保inSquareFeet是由getAreaObject()返回的对象的方法,而不是Andrew.JS.Rectangle的方法

>使用构造函数,或者更具体地,尝试尽可能的努力,以确保一个对象在构造之后不需要任何进一步的初始化,因此,而不是:

var Person = function()
{
    this.name = "";
    this.sayHello = function ()
    {
        alert(this.name + " says 'Hello!'");
        return this;
    }
}

var bob = new Person();
bob.name = "Bob Poulton";
bob.sayHello();

尝试:

var Person = function(name)
{
    this.name = name;
    this.sayHello = function ()
    {
        alert(this.name + " says 'Hello!'");
        return this;
    }
}

var bob = new Person("Bob Poulton");
bob.sayHello();
原文链接:https://www.f2er.com/js/154249.html

猜你在找的JavaScript相关文章