您的当前位置:首页正文

js中prototype是什么

2020-11-27 来源:尚佳旅游分享网
prototype对象是实现面向对象的一个重要机制。每个函数也是一个对象,它们对应的类就是function,每个函数对象都具有一个子对象prototype。

Prototype 表示了该函数的原型,prototype表示了一个类的属性的集合。当通过new来生成一个类的对象时,prototype对象的属性就会成为实例化对象的属性。

这个属性非常有用:为一个特定类声明通用的变量或者函数。

在函数内定义的变量和函数如果不对外提供接口,那么外部将无法访问到,也就是变为私有变量和私有函数。

function Obj(){ 
 var a=0; //私有变量
 var fn=function(){ //私有函数 }
 }

静态变量、函数

当定义一个函数后通过 “.”为其添加的属性和函数,通过对象本身仍然可以访问得到,但是其实例却访问不到,这样的变量和函数分别被称为静态变量和静态函数,用过Java、C#的同学很好理解静态的含义。

function Obj(){

 }
 Obj.a=0; //静态变量
 Obj.fn=function(){ //静态函数
 }
 console.log(Obj.a); //0
 console.log(typeof Obj.fn); //function

 var o=new Obj();
 console.log(o.a); //undefined
 console.log(typeof o.fn); //undefined
显示全文