原型讲解二:原型是干什么用的

前面说了这么多的原型的概念,那么原型用在哪里呢?

之前说过,直接在构造函数外面定义一个函数方法,势必会造成全局的变量污染,那么怎么避免这个问题呢?那么就要涉及到在原型上面定义一个方法了:

范例:

function Person(name,age,gender){

   this.name=name;

   this.age=age;

   this.say=function(“我是”+this.name);

 }

 这是一个简单的构造函数,那么是怎么改进的呢?

     改进1:为了防止每次建立一个对象,对象里包含一个say()函数方法

             在构造函数的外面添加了一个say()含数,但是造成了全局的变量污染。

     该进2:使用原型的方法

           this.say方法就可以不定义了

     看看这里的定义:

Person.prototype.say=function(){

  alert(“我是”+this.name);

}

这样就完美的解决了上面构造函数外面直接定义函数方法从而污染全局变量的问题。

再补充几个专业的术语

 

    什么叫做实例化:

 

   例如 var p=new Person();

 

   就是用new创建了一个对象,该对象拥有构造函数的属性和方法,有木有感觉构造函数像一个模板呢?,结构是不变的,唯一变的就是实参的变化

 

   更专业的叫法:pPerson()这个构造函数的一个实例

 

posted @   点小二  阅读(635)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示