//property 属性 可以向对象添加属性和方法 function employee(name,job,born){ this.name = name; this.job = job; this.born = born; } var bill = new employee("Bill Gates","Engineer","1985"); employee.prototype.salary = null; bill.salary = 2000; console.log(bill); console.log(bill.salary); var arr = [1,2,3,5,6,32]; //为脚本环境内建对象添加方法 Array.prototype.max = function(){ var i,max = this[0]; for(i=0;i<this.length;i++){ if(max<this[i]){ max = this[i]; } } return max; } console.log(arr.max()); //为用户自定义类添加方法 function TestObjet(name){ this.name = name; } TestObjet.prototype.ShowName = function(){ alert(this.name); } var testObj = new TestObjet("Tom"); testObj.ShowName(); //对象间实现继承 function TestObjA () { this.MethodA = function(){ alert("TestObjA.methodA"); } } function TestObjB () { this.MethodB = function(){ alert("TestObjB.methodB"); } } function TestObjC () { this.MethodC = function(){ alert("TestObjC.methodC"); } } TestObjB.prototype.a = new TestObjA(); TestObjB.prototype.c = new TestObjC(); var myObj = new TestObjB(); myObj.a.MethodA(); myObj.MethodB(); myObj.c.MethodC(); //为js对象扩展 console.log("为js对象扩展"); Number.prototype.add = function(num){ return this+num; } console.log((3).add(5)); //js 为Boolean 对象添加“布尔值取反”功能 console.log("js 为Boolean 对象添加“布尔值取反”功能"); Boolean.prototype.rev=function(){ return !this; } console.log((true).rev()); //为Array对象添加“在数组末尾加入一个新的元素”功能 Array.prototype.push = function(ele){ this[this.length] = ele; return this; } Array.prototype.pushPro = function(){ var currenLength = this.length; for(var i=0;i<arguments.length;i++){ this[currenLength+i] =arguments[i]; } return this.length; } var arr=[1,2,3]; arr.push(4); console.log(arr); arr.pushPro(5,6,7); console.log(arr); //js 日期格式获取 Date.prototype.format = function(fmt) { var o = { "M+":this.getMonth()+1, //月份 "d+":this.getDay(), "h+":this.getHours(), "m+":this.getMinutes(), "s+":this.getSeconds(), "q+":Math.floor((this.getMonth()+3/3)), //季度 "S":this.getMilliseconds() //毫秒 }; if(/(y+)/.test(fmt)) { fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); } for(var k in o) { if(new RegExp("("+ k +")").test(fmt)){ fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); } } return fmt; } var time = new Date().format("yyyy-MM-dd hh:mm:ss");
|
|