前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >几行代码立即理解js的对象,类,原型等概念

几行代码立即理解js的对象,类,原型等概念

作者头像
lilugirl
发布2019-05-26 21:15:34
8260
发布2019-05-26 21:15:34
举报
文章被收录于专栏:前端导学

很多人觉得js的类和对象及原型这个概念特别难理解,特别是习惯java,php,C#等高级语言编程的同学们。

无意中找到了下面一组代码,貌似一下子理解了js中的原型,类,对象等概念。

代码语言:javascript
复制
function People(name)
{
this.name=name;
//对象方法
this.Introduce=function(){
alert("My name is "+this.name);
}
}
//类方法
People.Run=function(){
alert("I can run");
}
//原型方法
People.prototype.IntroduceChinese=function(){
alert("我的名字是"+this.name);
}

 

//测试

var p1=new People("Windking");

p1.Introduce();

People.Run();

p1.IntroduceChinese();

1、对象方法理解就很简单了,主要是如果类生成一个实例,那么该实例就能使用该方法 2、类方法,不需要通过生成实例就可以使用的方法 3、原型方法主要是用来对JS已有的系统对象进行扩展而生的,例如Array数组没有什么方法,你可以为其增加原型方法,那么创建的数组就拥有了该方法。

1、对象方法包括构造函数中的方法以及构造函数原型上面的方法; 2、类方法,其实这里的类就是一个函数,在js中由于函数也是一个对象,所以可以为函数添加属性以及方法,这种方法在node中用的比较多; 3、原型方法一般用于对象实例共享,比如Person.prototype.sayName=function(){console.log(this.name);};在原型上面添加该方法,就能实现共享。这样就不用每一次初始化一个实例的时候,为其分配相应的内存了。

原来原型方法就是事后定义类,所有类的实例都可以调用原型方法

而定类方法 ,就好比定义静态类的静态方法 ,只能用静态类的方式调用。

代码语言:javascript
复制
function People(){
  this.say=function(){
    console.log('Class');
  }
}
People.prototype.sayHi=function(){
   //为People添加一个原型方法,所有People的实例都可以访问
   console.log('Hi!');
}

People.say=function(){
  //为People添加一个类方法,仅以People为对象时可以访问
  console.log('Object');
}

var p=new People();
p.say(); //Class
People.say(); //Object
p.sayHi(); //Hi
People.sayHi(); //error
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档