为内置对象添加原型方法

简介: //为内置对象添加原型方法 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;
    },
});
目录
相关文章
|
前端开发
前端原型和原型链构造函数的使用
前端原型和原型链构造函数的使用
66 0
|
前端开发
前端原型和原型链构造函数的使用
前端原型和原型链构造函数的使用
81 0
|
6月前
|
存储 JavaScript 前端开发
【JavaScript】<面向对象Object>函数方法&对象创建&原型对象&作用域解析
【1月更文挑战第17天】【JavaScript】<面向对象Object>函数方法&对象创建&原型对象&作用域解析
|
人工智能 JavaScript 前端开发
JavaScript:原型、原型链、继承
JavaScript:原型、原型链、继承
120 0
|
JavaScript 前端开发
JavaScript 中的原型、对象原型、原型继承和原型链
在 JavaScript 中,原型(prototype)是一个对象,它用于实现对象之间的继承和共享属性。JavaScript 是一种基于原型的编程语言,每个对象都有一个原型,而原型又可以拥有自己的原型,形成一个原型链。
|
前端开发
前端原型和原型链constructor
前端原型和原型链constructor
87 0
|
JavaScript 前端开发
JavaScript 原型、原型链与继承
JavaScript 原型、原型链与继承
357 0
|
前端开发 JavaScript
前端javascript构造函数和原型(超详细讲解)
前端javascript构造函数和原型(超详细讲解)
139 0
前端javascript构造函数和原型(超详细讲解)
|
前端开发 JavaScript Java
JavaScript的继承,原型和原型链
想必,学过 java 和 C++ 的小伙伴们,对于继承这个词应该不陌生,最近我也是一直在巩固JavaScript的知识,今天就来一起学习一下JavaScript里的继承吧。
|
JavaScript 前端开发
Javascript面向对象——创建对象、构造函数的原型
Javascript面向对象——创建对象、构造函数的原型