2015-10-19 32 views
0

現在我要分享一個小代碼,這是不工作,我沒有任何想法,爲什麼赫克它不工作:更改字符串中字符放置無效的函數。 (JS)

HTML:

<!DOCTYPE html> 
<html lang="en-US"> 
    <head> 
     <title>Stack Overflow</title> 
     <meta charset='UTF-8'> 
     <link rel="stylesheet" type="text/css" href="css.css"> 
    </head> 
    <body> 
     <div id="targetField">Please Enable Javascript</div> 
     <script type="text/javascript" src="javascript.js"></script> 
    </body> 
</html> 

JS:

function changeString(stringA , a , b){ 
    var character = stringA.charAt(a); 
    stringA.charAt(a) = stringA.charAt(b); 
    stringA.charAt(b) = character; 
    return stringA; 
} 

var stringB = changeString("This is javascript" , 1 , 2); 
document.getElementById('targetField').textContent = stringB; 

這看起來很奇怪。有人能告訴我這個問題嗎? (我希望沒有語法錯誤)

+0

字符串**不可變**。你不能在任務的LHS上獲得**值**。 –

+0

但是不是'stringA.charAt(a)'一個值,因爲它返回'h'? – codetalker

+0

我的意思是*不能*。 –

回答

0

你會找到答案 here.

.chartAt(index)是一個函數,並返回指定索引處的字符。它不會讓你設置一個角色!

如果你想改變字符串,你必須創建一個新的字符串。

相關問題