为内置对象添加原型方法

简介: //为内置对象添加原型方法 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;
    },
});
目录
相关文章
|
存储 前端开发
Gin-Vue-Admin 前后端获取用户信息方式
Gin-Vue-Admin 前后端获取用户信息方式
493 0
Gin-Vue-Admin 前后端获取用户信息方式
|
6月前
|
安全 Java API
理解Akamai EdgeGrid认证在REST API中的应用
Akamai作为内容分发和云服务的领导者,提供了EdgeGrid平台以提升Web应用的速度、可靠性和安全性。EdgeGrid认证(Auth)通过基于令牌的安全机制,利用HMAC-SHA256签名、时间戳和Nonce确保API请求的合法性与唯一性。文章详细介绍了在Python、Java和Go语言中实现EdgeGrid认证的方法,并探讨了如何使用Apipost、Postman和curl工具进行测试。这一认证机制是保障与Akamai REST API安全交互的关键,助力开发者构建更安全高效的数字平台。
|
6月前
|
Java 编译器 Go
go的内存逃逸分析
内存逃逸分析是Go编译器在编译期间根据变量的类型和作用域,确定变量分配在堆上还是栈上的过程。如果变量需要分配在堆上,则称作内存逃逸。Go语言有自动内存管理(GC),开发者无需手动释放内存,但编译器需准确分配内存以优化性能。常见的内存逃逸场景包括返回局部变量的指针、使用`interface{}`动态类型、栈空间不足和闭包等。内存逃逸会影响性能,因为操作堆比栈慢,且增加GC压力。合理使用内存逃逸分析工具(如`-gcflags=-m`)有助于编写高效代码。
129 2
|
存储 分布式计算 搜索推荐
【专栏】数据之海,分布式计算、数据存储与管理、数据分析与挖掘成为关键技术
【4月更文挑战第27天】在大数据时代,数据量爆炸性增长、类型多样及处理速度需求提升带来挑战。分布式计算、数据存储与管理、数据分析与挖掘成为关键技术,如Hadoop、Spark、HDFS、NoSQL等。实际应用包括互联网搜索、推荐系统、金融科技、智能城市等领域,大规模数据处理发挥关键作用,持续推动创新与奇迹。
343 3
|
7月前
|
缓存 小程序 API
微信小程序页面导航与路由:实现多页面跳转与数据传递
本文深入探讨微信小程序的页面导航与路由机制,介绍多种页面跳转方式如`wx.navigateTo`、`wx.redirectTo`、`wx.switchTab`等,并讲解通过URL、全局变量和事件传递数据的方法。结合案例实现多页面跳转与数据传递,帮助开发者掌握这一重要技能。
|
JSON 数据格式 Docker
Docker 网络命令大全,建议收藏!
【7月更文挑战第22天】
501 7
Docker 网络命令大全,建议收藏!
|
8月前
|
人工智能 算法 搜索推荐
阿里云百炼xWaytoAGI共学课开课:手把手学AI,大咖带你从零搭建AI应用
阿里云百炼xWaytoAGI共学课开课啦。大咖带你从零搭建AI应用,玩转阿里云百炼大模型平台。3天课程,涵盖企业级文本知识库案例、多模态交互应用实操等,适合有开发经验的企业或独立开发者。直播时间:2025年1月7日-9日 20:00,地点:阿里云/WaytoAGI微信视频号。参与课程可赢取定制保温杯、雨伞及磁吸充电宝等奖品。欢迎加入钉钉共学群(群号:101765012406),与百万开发者共学、共享、共实践!
1058 10
|
11月前
|
Ubuntu 安全 Linux
|
网络安全 文件存储 C#
Docker 安装迅雷NAS
【7月更文挑战第3天】在Docker中安装迅雷NAS的步骤包括:确保已安装Docker,使用`docker run`命令拉取镜像(可选阿里云仓库),设置容器参数如命名、主机名、网络模式、挂载目录和重启策略,并开启防火墙端口。访问迅雷NAS网页需内测邀请码,注意安全性和内网使用。操作可能因设备和网络环境差异需调整。
1402 15
|
XML 安全 搜索推荐
大数据之 Solr 集群搭建
Solr是一个基于Java的高性能全文搜索服务器,扩展自Lucene,提供丰富查询语言和优化的查询性能。它支持通过HTTP接口以XML格式进行索引和搜索操作。在集群环境中,涉及解压软件包,配置环境变量,修改Zookeeper参数,文件分发,启动Solr和Zookeeper服务。建议使用非root用户启动,确保安全。启动后,通过WEB UI验证Solr集群部署是否成功,遇到问题如找不到solr.xml文件,可通过指定-Dsolr.solr.home参数解决。
374 8