2017-10-04 29 views
-5

我已經定義的變量類型號IndexCounter = 0;如何在函數angular 2中使用後重置變量?

這是我寫的函數:

counter() { 
    for(let i = 0; i > 10; i++) { 
    this.IndexCounter = i++; 
    } 

    return ++this.IndexCounter;  
    this.IndexCounter = 0; 
} 

這是我得到的問題:

可達代碼檢測

+0

請張貼問題,SO之前學習編程的基本概念。這是你錯過的第一堂課。並請使用propper標籤。這不是C#。這是手稿嗎?請相應地編輯您的標籤。 –

回答

0

指定想要返回到新變量的值並重置原始變量:

counter() { 
    for(let i = 0; i > 10; i++) { 
     this.IndexCounter = i++; 
    } 
    let result = this.IndexCounter++; 
    this.IndexCounter = 0; 
    return result; 
} 
0

A return必須始終是範圍中的最後一條語句。你不能在同一個範圍內返回一個東西。

你應該這樣做:

counter() { 
    for(let i = 0; i > 10; i++) { 
     this.IndexCounter = i++; 
    } 
    var out = ++this.IndexCounter; 
    this.IndexCounter = 0; 
    return out; 
} 

說明:

您可以在一個範圍內返回,只要有它之後沒有其它的代碼。範圍由需要將{}(花括號)放在某處來定義。

if語句,返回的實例:

function isTrue(arg){ 
    if(arg === true){ 
     return true; 
    } 
    return false; 
} 
+2

哪個會返回0 – Ploppy

+0

lol有效點..更新 –

1

你得到警告的原因是,代碼後返回語句不可阻擋在所有執行,返回的語句應該是最後一個在你的方法中(或者在執行分支中,更確切地說)。

只需將號碼存儲在重置前:

counter() 
{ 
    for(let i = 0; i > 10; i++) { 
     this.IndexCounter = i++; 
    } 
    let val = this.IndexCounter++; 
    this.IndexCounter = 0; 
    return val; 
} 
相關問題