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