2017-10-07 89 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'