javascript中的prototype(原型)认识
prototype实现了对象与对象的继承,在JS中变量,函数,几乎一切都是对象,而对象又有_ptoro_属性,这个属性就是通常说的原型,是用来指向这个对象的prototype对象,prototype对象又有_proto_属性,就是这样依次递归,直到追溯到object对象。
1 function Person(name){ 2 this.name=name; 3 }; 4 Person.prototype.printName=function(){//通过给Person对象下的prototype赋一个printName成员,可以通过 5 alert(this.name);//person对象的实例点出printName成员 6 } //prototype下是可以存变量,函数的,当一个对象dian出成员时,编译器会从对象的成员下遍历找出所需成员,如果没找到,会在对象的prototype对象下继续搜索成员,直到找到,否则将会返回出一个undefault错误
下面是利用prototype达到对对象原型链的操作:
替换全部
3 String.prototype.replaceAll = function(s1, s2) { 4 return this.replace(new RegExp(s1, "gm"), s2) 5 }//类似于C#中的扩展方法;利用prototype把replaceAll充当String的扩展方法,也可以理解成继承,添加属性。
清除空格
1 String.prototype.trim = function() { 2 var reExtraSpace = /^\s*(.*?)\s+$/; 3 return this.replace(reExtraSpace, "$1") 4 }给string的原型链上添加trim方法,

作者:Chaunce
GitHub:https://github.com/liuyl1992
公众号请搜:架构师高级俱乐部 SmartLife_com

声明:原创博客请在转载时保留原文链接或者在文章开头加上本人博客地址,如发现错误,欢迎批评指正。凡是转载于本人的文章,不能设置打赏功能等盈利行为
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理