分享

属性扩展-入门

 梦想成为的样子 2017-06-02
//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");

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多