2017-10-07 92 views
1

如何在类本身内部调用静态函数?我尝试自我关键字,而不是这个,但我仍然得到错误。无法在自己的类中调用静态函数

class Test { 
 
    static staticFunction() { 
 
    console.log('Inside static function.'); 
 
    } 
 
    regularFunction() { 
 
    this.staticFunction(); 
 
    } 
 
} 
 

 
let test = new Test(); 
 
test.regularFunction();

回答

2

您可以通过类名引用静态函数,就像这样:

class Test { 
 
    static staticFunction(input) { 
 
    console.log('Inside static function.'); 
 
    } 
 
    regularFunction() { 
 
    Test.staticFunction(); 
 
    } 
 
} 
 

 
let test = new Test(); 
 
test.regularFunction();

+0

很棒@Patrick Hund,终于工作的解决方案:) – quarky

1

你不能使用这个引用访问一个静态函数。你应该只做staticFunction(输入)或者更好的Test.staticFunction(输入)。

-1
`class Test { 
    static staticFunction(input) { 
     console.log('Inside static function.'); 
    } 
    regularFunction() { 
     Test.staticFunction("PassTheInputValueHere");//your correction is here 
    } 
    } 

    let test = new Test(); 
    test.regularFunction();` 

你的错误是你没有传递的输入值,以及你想调用静态方法你要通过输入值,你应该调用使用“Classname.StaticMethod静态函数() ;”

1

不能在静态方法或类中使用'this'