javascript类的理解和使用

  距离上次写博客已经过去好几个月了,现在手里的项目正好都结束了,闲暇之后开始理一下开发中一些问题,这次说一下javascript当中的类,可能很多人对于写惯了前台页面效果的coder来说,对于javascript当中的类,他们可能很少使用!这次我简单的写一个类,包括一些方法!

 

var ArrayList = function ()
        {
            var arr = [];
            this.add = function (p)//新增
            {
                arr[arr.length] = p;
            };

            this.get = function (index)//获取
            {
                if (index > -1 && index < arr.length)
                    return arr[index];
                return null;
            };

            this.remove = function (obj)
            {
                if (obj != null && arr.length > 0)
                {

                    var index = this.indexOf(obj);
                    if (index != -1)
                    {
                        this.removeAt(index);
                    }
                }
            };//删除对象

            this.removeAt = function (index)   //删除指定索引的对象
            {
                if (index != null && arr.length > 0)
                {
                    if (arr.length == 1 && index == 0)//
                    {
                        this.clear();
                    } else
                    {
                        //      arr.slice(0, index).concat(arr.slice(index + 1, arr.length));
                        arr.splice(index, 1);
                    }
                }
            };

            //清除
            this.clear = function ()
            {
                arr.length = 0;
            };

            this.replace = function (obj, newObj)//替换
            {
                if (arr.length > 0)
                {
                    var index = this.indexOf(obj);
                    arr.splice(index, 1, newObj);
                }
            };

            this.indexOf = function (obj)//获取对象的索引
            {
                if (arr.length > 0 && obj != null)
                {
                    for (var i = 0; i < arr.length; i++)
                    {
                        if (arr[i] == obj)
                            return i;
                    }
                    return -1;
                }
            };

            this.lastIndexOf = function (obj)//返回最后一个值
            {
                for (var i = arr.length - 1; i > 0; i--)
                {
                    if (obj == arr[i])
                        return arr[i];
                }
                return null;
            };

            this.getCount = function ()//返回集合长度
            {
                return arr.length;
            };

            this.toArray = function ()//初始化数组
            {
                var temp = new Array();
                for (var i = 0; i < arr.length; i++)
                {
                    temp[i] = arr[i];
                }
                return temp;
            };
View Code

这是一个简单的类的写法,对于类当中的this关键字我表示这个好比C#后台类当中的public访问修饰符一样的概念,如果换成了var,那么当你实例化这个类的时候就无法访问这个类的方法了。请牢记哦!

posted @ 2013-08-02 09:38  小菜鸟叽叽喳喳  阅读(642)  评论(3编辑  收藏  举报