码迷,mamicode.com
首页 > 其他好文 > 详细

Static关键字

时间:2017-02-06 18:02:04      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:console   for   nes   define   ati   cto   存在   extend   对象   

  • The static keyword defines a static method for a class.
  • Static修饰的方法只能通过类名来调用,不能使用具体对象来调用,常用来做公用方法utitly
  • 同一个class下的不同静态方法可以通过this来互相调用, 非静态方法不能直接通过this来调用静态方法

  >class Person {

    static sayHello()

    {

      console.log(‘hello‘) ;

      this.sayWorld();

    }

    static sayWorld()

    {

      console.log(‘world‘)

    }

  }

  • 非静态方法可以通过类名来调用静态方法,或者通过this.constructor.staticMethod()来调用静态方法

  > class Person {

    constructor(){

      this.constructor.foo() ;

      Person.foo();

    }

    static foo()

    {

      console.log(‘helloworld‘)

    }

  }

  • 存在继承关系的两个类之间,方法的调用,通过super来显示的调父类里面的静态方法

  > class Parent {

    static sayHello()

    {

      console.log(‘parent say hello‘)

    }

  }

  > class Child extends Parent{

    static sayHello()

    {

      console.log(‘child say hello‘);

      super.sayHello() ;

    }

    static sayWorld()

    {

      console.log(‘child say world‘) ;

    }

    test()

    {

      console.log(‘child say test‘) ;

    }

  }

 

  Parent.sayHello() // parent say hello

  Child.sayHello() // child say hello , parent say hello

  Child.sayWorld() // child say world

  Child.test() // not a function

  new Child().sayHello() // not a function

  new Child().sayWorld() // not a function

Static关键字

标签:console   for   nes   define   ati   cto   存在   extend   对象   

原文地址:http://www.cnblogs.com/chihaiping/p/6371271.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!