为内置对象添加原型方法

简介: //为内置对象添加原型方法 var arr=new Array(10,20,30,40,50); arr.join("|"); console.dir(arr); var str=new String("哦,唛嘎的"); str.

//为内置对象添加原型方法

var arr=new Array(10,20,30,40,50);
   arr.join("|");
   console.dir(arr);
   var str=new String("哦,唛嘎的");
   str.indexOf("哦");
   console.dir(str);
   var dt=new Date();
   dt.getFullYear();
   console.dir(dt);

//实例中的方法如果没有,去创建该实例对象的构造函数的原型对象中找
//我们能否为系统的对象的原型中添加方法,相当于在改变源码
//我希望字符串中有一个倒序字符串的方法
String.prototype.myReverse=function () {
  for(var i=this.length-1;i>=0;i--){
    console.log(this[i]);
  }
};
var str="abcdefg";
str.myReverse();
//为Array内置对象的原型对象中添加方法
Array.prototype.mySort=function () {
  for(var i=0;i<this.length-1;i++){
      for(var j=0;j<this.length-1-i;j++){
          if(this[j]<this[j+1]){
              var temp=this[j];
            this[j]=this[j+1];
            this[j+1]=temp;
          }//end if
      }// end for
  }//end for
};

var arr=[100,3,56,78,23,10];
arr.mySort();
console.log(arr);
String.prototype.sayHi=function () {
  console.log(this+"哈哈,我又变帅了");
};

//字符串就有了打招呼的方法
var str2="小杨";
str2.sayHi();

我理解的油猴的原理就是基于此(这个是冷月大佬写的钩子)



var cookie_cache = document.cookie;
Object.defineProperty(document, 'cookie', {
    get: function() {
        debugger;
        console.log('Getting cookie');
        return cookie_cache;
    },
    set: function(val) {
        console.log('Setting cookie', val);
        debugger;
        var cookie = val.split(";")[0];
        var ncookie = cookie.split("=");
        var flag = false;
        var cache = cookie_cache.split("; ");
        cache = cache.map(function(a){
            if (a.split("=")[0] === ncookie[0]){
                flag = true;
                return cookie;
            }
            return a;
        })
        cookie_cache = cache.join("; ");
        if (!flag){
            cookie_cache += cookie + "; ";
        }
        this._value = val;
        return cookie_cache;
    },
});
目录
相关文章
|
JavaScript 前端开发
JavaScript 中的原型、对象原型、原型继承和原型链
在 JavaScript 中,原型(prototype)是一个对象,它用于实现对象之间的继承和共享属性。JavaScript 是一种基于原型的编程语言,每个对象都有一个原型,而原型又可以拥有自己的原型,形成一个原型链。
|
JavaScript 前端开发
Javascript函数、构造函数、原型、类和对象
函数 函数是JavaScript中特殊的对象,对函数执行typeof运算会返回字符串"function",因为函数也是对象,他们可以拥有属性和方法。 静态方法 函数在JS中定义了类的名字,任何添加到函数的属性都是类字段和类方法(类比Java中类的static variable 和 static method),下面代码起到Java里面static method的效果: va
1853 0
|
JavaScript 程序员
JS对象与原型
JS对象与原型
123 0
|
前端开发
前端原型和原型链构造函数的使用
前端原型和原型链构造函数的使用
83 0
|
前端开发
前端原型和原型链构造函数的使用
前端原型和原型链构造函数的使用
108 0
|
JSON JavaScript 前端开发
学习javaScript必知必会(6)~类、类的定义、prototype 原型、json对象
学习javaScript必知必会(6)~类、类的定义、prototype 原型、json对象
170 0
学习javaScript必知必会(6)~类、类的定义、prototype 原型、json对象
|
JavaScript 前端开发
JavaScript为内置对象添加原型方法
JavaScript为内置对象添加原型方法
127 0
JavaScript为内置对象添加原型方法
|
JavaScript 前端开发 Java
JavaScript使用原型判断对象类型
1. constructor属性 在JavaScript创建对象(二)——构造函数模式中,我们说过可以使用对象的constructor属性判断对象的类型:p1.constructor === Person,可能当时就有细心的读者会想,我们并没有给这个对象添加过constructor,这个属性是从哪儿来的呢?讲过原型之后,我们知道这个属性是原型中的,所以一般重写原型时也都会把constructor补上。
1609 0
|
JavaScript 前端开发
Javascript面向对象——创建对象、构造函数的原型
Javascript面向对象——创建对象、构造函数的原型