document.write(); //이건 괄호 안에 있는 내용을 출력해줍니다.
document.write(안녕); //이렇게 치면 안녕을 출력하지 않습니다. 안녕이 변수인지 텍스트인지 모르거든요.
document.write('안녕'); // 이건 안녕 이라고 출력합니다. 따옴표안에 있는건 텍스트라는 뜻이니까요.
var coworkers = ['egoing','leezche','duru','taeho'];
document.write(coworkers[0]); // 이건 변수를 가져옵니다. coworkers라는 배열변수의 0번째에 있는 egoing이 출력됩니다.
document.write('안녕' + '하세요'); // 이건 안녕하세요 가 출력됩니다. 숫자에서 +는 수를 합치는거지만, 문자열에서는 문자열을 앞뒤로 붙여주는역할이니까요.
document.write('안녕' + coworkers[0]); // 이렇게하면 안녕egoing 이라고 나옵니다. 변수를 사용하면 변수가 가르키는 (지금의 경우 egoing)이 그자리를 대체한다고 보시면 됩니다.
즉, document.write('안녕' + coworkers[0]); 는 document.write('안녕' + 'egoing'); 과 같은 뜻입니다.
Münster 님의 코드에서 에러가 난 이유는
document.write(+coworkers[i]+); // 앞뒤에 +연산자가 있는데 그걸 더해줄게 없었기 때문입니다. 크롬에서 F12누르고 콘솔을 열어둔 상태에서 페이지를 열어보면 에러메세지가 뜰껍니다. 그게 이유입니다.
YJ26 님의 코드에서 에러가 난 이유는
document.write('+coworkers[i]+'); // 따옴표안에 있는 글씨는 전부 문자열로 읽기때문입니다. 그래서 변수를 가져오지못하고 그 내용 그대로 출력을 하는거죠. while문에 따라 총 4번 출력해서 그런 모양이 나온겁니다.
나란히 나오게 하고싶으면 다음과 같이 쓰면 됩니다.
document.write(coworkers[i]); // 이렇게 쓰면 차례대로 불러와서 egoingleezchedurutaeho 처럼 나오게 됩니다.
이미 지나서 도움이 되실지 모르겠지만..
CSS 과정도 들으셨다면 아마 <span>이 inline element 라는걸 들으셨을 것 같아요! (이 과정 안하시구 먼저 자바스크립트부터 들으시는 것 같아서 이해를 못하지 않았나 싶습니다)
<b> <i>도 마찬가지로 inline element라서 화면전체가 아닌 특정 문자에 대해 그 문자에 맞는 사이즈에 딱맞게만 적용범위가 설정되서 줄이 넘어가지 않고 줄 이어져서 글이 작성되는 것이고
<div>와 같이 block level element를 사용하신다면 이건 특정 코드에 대해서만 공간이 적용되는게 아니라 화면 전체로 적용이 되서 공간이 너무 커서 글씨가 줄바꿈이 됩니다. <ol><li><p>도 마찬가지구요 !
엄... 이부분은 CSS 파트를 들으시면 명쾌하게 이해가 될 것 같습니다! 아무래도 코딩이다 보니 직접 보셔야 이해가 될 듯해요.. ㅠㅠㅠ
그리고 어떤 변수를 변수화 하여 사용하려면 '++' 형태가 기본이고 document.write()에서 () 안에 값들을 하나하나 나타내려면 작은따움표를 한번더 써주셔야합니다 이렇게요! document.write(''+coworkers+'')
그냥 '+coworkers[i]+'라고만 적으셔서 당연히 웹페이지에서 출력될땐 문자열 데이터 타입으로써 coworkers[i] 그대로 출력이 된 것 같네요 4번 출력이 된건 coworkers라는 글자가 아닌 hi 라고 바꿔도 4번 나올것이고 [i]를 없애고 hi만 적어도 4번 나올겁니다. 왜냐하면 4번 반복되도록 배열속에 4개의 원소를 넣은 상태고 i=0부터 i=3까지 다 돌아도 4번다 돌면서 4번 적으라고 한 반복문대로 작동 할테니까요
</script> 태그를 끝에 붙여주고
document.write(+coworkers[i]+); 부분을
document.write('+coworkers[i]+');로 바꿨을 때 결과가
+coworkers[i]++coworkers[i]++coworkers[i]++coworkers[i]+
로 나오더라구요
'+coworkers[i]+' 사이에 <b>나 <i>같은 태그를 넣어서
document.write('<b>'+coworkers[i]+'</b>');로 짰을 때는 말씀하신대로
egoingleezchedurutaeho 로 나오고
<p>나 <h1>같은 태그를 넣었을 때는
egoing
leezche
duru
taeho
로 출력됩니다.
만약에 li로 처리하지 않고
<script>
var i=0;
while (i < coworkers.length) {
document.write(+coworkers[i]+);
i = i + 1;
}
라고 했을 때, 뭔가 한줄로 다닥다닥붙어서 나올 수 있지 않을까 생각했었는데 아무것도 안 나오게 되는 이유는 뭔가요..? 아직 문법 제대로 이해가 안 됐나봐요 흑ㅎ규