为了账号安全,请及时绑定邮箱和手机立即绑定

js prototype

js prototype

茅侃侃 2019-03-13 17:12:50
function People(name){             this.name=name;          //对象方法          this.Introduce=function(){            console.log("My name is "+this.name);          }             }          //类方法        People.Run=function(){         console.log("I can run");        }        //原型方法        People.prototype.IntroduceChinese=function(){          console.log("我的名字是"+this.name);        }        //测试        var p1=new People("大宝");        p1.Introduce();        People.Run();        p1.IntroduceChinese();最近正在学习js的原型,在网上搜索的例子,请问下对象方法与类方法以及原型方法的区别是什么呢?在实际应用过程中应该怎么选择呢?
查看完整描述

2 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

你好,首先你得理解new到底做了什么事情
深入浅出面向对象和原型【番外篇——重新认识new】

读完这篇文章,你应该可以明白
对象方法是绑定在构造函数People的实例上的【构造函数你可以理解为 类】
类方法是绑定在构造函数People自己身上的【没什么用】
原型方法是绑定在构造函数People的prototype属性上的的,目的是为了构造函数People的实例能够通过自身的__proto__属性调用到构造函数People的原型方法

如果你对类/实例概念不是很透彻,建议你读下我写的这篇文章
深入浅出面向对象和原型【概念篇1】

题外话

我私自猜测你对于在实际应用过程中应该怎么选择呢?这个问题是因为你还没有了解过面向对象编程

这个命题太过于庞大,如果你有空的话,可以读一下我写过的博客,希望对你有帮助

深入浅出面向对象和原型【概念篇2】
深入浅出面向对象和原型【概念篇3】—— 原型链和继承


查看完整回答
反对 回复 2019-03-25
?
互换的青春

TA贡献1797条经验 获得超6个赞

对象方法仅为当前对象拥有,修改它不会影响到同一个类的其他对象。

原型方法相对于是同一个类的所有对象所共有,修改之后会影响到该类的所有对象。

类方法则是该类的静态方法,只能通过类名.方法名()这样的方式调用,而不能通过对象.方法名()的形式调用。并且类方法调用时的this与对象方法也不一样。前者的this是类的构造函数,后者的this则是该类的当前对象。


查看完整回答
反对 回复 2019-03-25
  • 2 回答
  • 0 关注
  • 467 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号