JavaScript:Class.method与Class.prototype.method

JavaScript:Class.method与Class.prototype.method,第1张

JavaScript:Class.method与Class.prototype.method

是的,第一个函数与该构造函数的对象实例没有关系,您可以将其视为
“静态方法”

在Javascript中,函数是一对象,这意味着您可以像对待任何对象一样对待它们,在这种情况下,您只需向 函数object 添加属性。

第二个函数,当您扩展构造函数的原型时,将对使用该

new
关键字创建的所有对象实例可用,并且该函数内的上下文(
this
关键字)将引用您调用它的实际对象实例。

考虑以下示例:

// constructor functionfunction MyClass () {  var privateVariable; // private member only available within the constructor fn  this.privilegedMethod = function () { // it can access private members    //..  };}// A 'static method', it's just like a normal function // it has no relation with any 'MyClass' object instanceMyClass.staticMethod = function () {};MyClass.prototype.publicMethod = function () {  // the 'this' keyword refers to the object instance  // you can access only 'privileged' and 'public' members};var myObj = new MyClass(); // new object instancemyObj.publicMethod();MyClass.staticMethod();


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5009180.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存