\r\nと\nの違い

よくわかっていない。。。

string.replace(/
/g, '\n')と、string.replace(/
/g, '\r\n')って何が違うのかな(stringは文字列変数)?
つまり、\nと\r\nの違いは何なのか。
alertを使用すると、表示される結果は同じもの。しかし、文字列としては、異なる。

Windowsでは、CR+LF(\r\n)によって改行コードを表し、Unixでは、LF(\n)によって改行を表すが、ブラウザで表示する場合は、\r\nと\nによる違いはないってことか。

<html>
<head>
<script type="text/javascript">
var func = function(string){
 var str1 = 'test<BR>テスト';
 var str2 = 'test<BR>テスト';
 
 //これはtrueとなる
 alert(str1 === str2);
 
 var str1 = str1.replace(/<BR>/g, '\n');
 var str2 = str2.replace(/<BR>/g, '\r\n');
 
  //下記2つはどちらも同じ結果が表示される
  alert(str1);
  alert(str2);
 
 //これはfalseとなる
 alert(str1 === str2);
}
</script>
</head>
<body>
<input type="button" onClick="func();" value="テスト"/>
</body>
</html>