用面向对象的编程思想去写js

来源:互联网 发布:国泰安数据库多少钱 编辑:程序博客网 时间:2024/04/27 15:21

有时候,还会看到一些搞前端的朋友或者苦逼被迫兼职写前端的后端朋友,去写js的时候,还是一个方法一个方法的去罗列。

就像下面这样:

function click1(){    alert("1");}function click2(){    alert("2");}function click3(){    alert("3");}

或者高级一点的就这么写:

var MyClass;MyClass.prototype.add = function () {    alert("this is add");};MyClass.prototype.reduce = function () {    alert("this is reduce");};

其实这种方法已经很不错了,就是用面向对象的编程思想去写的,但是感觉还是罗列,不够完美,后期维护找起来也比较麻烦。

在这里,推荐一种更直观更系统的写法以供大家参考。

var MyClass = {    //定义属性    //定义私有属性    _flag : true,    _arr : [],    //定义公有属性(在外部可调用)    tips : "hello world",    //定义私有方法    _init : function () {        this._flag = false;    },    //定义公有方法(在外部可调用)    myAdd : function () {        this._init();        if (!this._flag){            alert(this.tips);        }    }};$(function () {    MyClass.myAdd();});

以一个类封装所有的属性和方法,如果只允许在类内部调用的属性和方法用“_”来加以区分。

需要注意的问题是,一定要注意this的作用域~~~

怎么样,这样写是不是感觉立马高大上棒棒哒啦~~


欢迎大家加入我的QQ群:484805249 web前端交流群 来一起讨论前端技术,互相学习。写的不到位的地方,还请指教。

0 1
原创粉丝点击