JavaScript里何为静态方法、对象方法、实例方法

了解对象方法和实例方法,但是静态方法我跑去问PHP后端,也解释不太清楚咧,只是说无须实例化即可调用。

它的作用?不能继承下来?那为何不直接用原型的方式?

function Fn() {
}

Fn.hello = function() {
    console.log('say static');
}

Fn.prototype.hello = function () {
    console.log('say prototype');
}
阅读 6.3k
2 个回答
function Fn() {
    this.hello = function () {
        console.log('实例方法');
    }
}

Fn.hello = function() {
    console.log('静态方法');
}

Fn.prototype.hello = function () {
    console.log('实例共享方法(对象方法)');
}

以上就包含你说的3种方法

为什么要有静态方法?

有些东西是不需要实例的,只要有类就存在的,比如Array.isArray(obj);
判断一个对象是不是数组,如果这个方法是数组实例才有的,那我还判断个毛啊。

楼上说的对,有些方法不需要实例化,内置的一些方法就有,别人已经整好了,而有这方式是自己为了复用,或者有别的想法而添加的,这时候就派上用场了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏