2015-10-19 68 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)是一个函数,并返回指定索引处的字符。它不会让你设置一个角色!

如果你想改变字符串,你必须创建一个新的字符串。