구)홈페이지 오탈자 보기
자바스크립트 for 웹2.0

 

페이지오탈자 내용등록일
50

(5장 예저 5-1)

aryObject[aryObject.length] = "three"; // 원래의 문자열을 덮어쓴다.

주석과 매칭 될려면...
aryObject[aryObject.length - 1]; 

아니면 주석을 변경을 한다.

2008-02-122
277

(2장 연습문제 4번(77쪽))

'16진수와 8진수로 변환'

=> '16진수와 8진수를 10진수로 변환'으로 바뀌어야 함

2008-03-273
277

(2장 77페이지)

3번 문제 Only 단어 앞의 '가 빠져야 한다. 

2010-01-253
3105

(3장 105페이지)

if (sValue >= 2.0) // 참
=> if (sValue =< 2.0) // 참

2010-01-253
3114

(114쪽에 있는 코드의 첫행과 바로 밑의 실행결과 그림)

eval("document.writeln(document.." + docprop + ")");



eval("document.writeln(document." + docprop + ")");

으로 수정해야함. document의 property를 나열하기 위해 위의 코드를 작성하는데, 포인트(".")가 두번 찍혀서 결과가 제대로 출력되지 않습니다. 또한 그로 인해 제대로 출력되지 않은 결과가 그대로 캡쳐되어 삽화되어 있습니다.

삽화되어 있는 그림은 결과가 올바르게 출력되었다고 보기에는 다소 내용이 없어보입니다. 그래서 위와 같이 코드를 수정하고 적용해보면 본문에서 명시한 바와 같이 document의 property 리스트가 출력됩니다.

2008-02-263
5162

(5장 P162)

var func = new Function("x", "y", "return x * y")
이 부분
var func = new Function("x", "y", "return x * y;")

; 세미콜론 붙이기

2008-02-121
5171

(5장 171페이지)

인터넷 익스플로러 6.0 에서는 이 예제가 실행이 안됩니다.

testedColors[i] = colors[i].filter(checkColor);

이 부분에서 "개체가 이 속성 또는 메서드를 지원하지 않습니다." 라는 에러가 발생하네요.

파이어폭스에서는 정상적으로 동작합니다.

2008-05-083
6202

(6장 202, 203 페이지)

202쪽 맨 아래 그림과 203쪽 맨 위 그림이 서로 바뀌어야 함

2008-03-273
7223

(223쪽)

예제 7-2 11줄에
window.addEventListener("load",setupEventsl,false);
setupEventsl -> setupEvents 로 고쳐야함

2007-05-261
7227

(227쪽 예제7-3)

20줄 }else if(document.someForm.attachEvent) {

23줄
document.someForm.onsubmit=validateForm;


function validateForm(evnt) {
var evnt = evnt ? evnt : window.event;
위 코드 생략 추가 필요 ie7 실행시

2007-05-241
7227

(227)

소스 25번째 줄 정도의
document.someForm.attachEvent("submit", validateForm);
위 코드는 아래와 같이 정정하는 것이 옳다.
document.someForm.attachEvent("onsubmit", validateForm);

2008-05-173
7230

(230쪽 예제 7-4)

function setupEvents(evnt) {
document.someForm.text1.onchange = validateField;
document.someForm.text2.onblur=checkRequired; // 이부분 문제
}
text1번으로 하면됨 아니면 
<input type="text" name="text1" /> </ br>
<input type="text" name="text2" />
이런식으로 가능하지만 어떤것이 작가의 의도인지???

13줄 var theEvent = evnt ? evnt : window.event
이부분도 theEvent -> evnt 고쳐야함 IE7 작동하기 위해서는

25줄 var theEvent = evnt ? evnt : window.event
이부분도 theEvent -> evnt 고쳐야함 IE7 작동하기 위해서는

2007-05-241
4230

(230)

26째줄 휴대폰번호 정규표현식 중에서
이동통신사 번호의 정규표현식에 대한 오류(?)

[01](0|1|6|7|8|9) 보다는

/^01[016789] 수정 바랍니다.

이유는 전자의 표현식에서는 0외에 1로 시작하는
숫자도 alert를 표시 하지않습니다.
그리고 IE 7.0 에서는 불규칙적으로 alert를 표시하지 않네요

2008-03-313
11350

(p350 마지막줄)

addPerfromer -> addPerformer
listPerfromers -> listPerformers

2007-07-131
11354

(p354 밑에서 두번째줄)

perfomedBy -> performedBy

2007-07-131
11357

(357쪽)

예제 11-4 14줄 코드
IE7에서 투명도 코드에 문제가 있음
if(img.style.filter) {
  opacity = opacity * 100;
  img.style.filter = "alpha(opacity:"+opacity + ")";
  opacity = opacity / 100;  <- 이부분 추가하면 문제 없음
} else if(

2007-05-281
11357

(p357 예제 11-4)

adjustOpacity() 함수 내부에서,

if (img.style.filter) {
    opacity = opacity * 100;
    img.style.filter = "alpha(opacity:"+opacity+")";
}

가 다음과 같이 수정되어야 함.

if (img.style.filter) {
    img.style.filter = "alpha(opacity:"+(opacity * 100)+")";
}


(이미 오탈자 등록하신분께서 IE7에서 일어나는 오류라 하셨는데 IE7만 일어나는게 아닙니다. 전역변수로 사용되는 opacity 값을 변경하고 있기 때문에 로직 자체가 잘못됐구요, 거기에서처럼 아랫줄에 다시 100을 나누어서 코드중복을 발생시키는것 보다 위에서처럼 값을 대입할때만 100을 곱해서 넣는 것이 나을 것 같습니다.)

2007-07-131
11360

(360쪽)

14줄
this.obj.style.filter = "alpha(opacity:"+opacity+")";

2007-05-281
11360

(360쪽)

수정후...
function changeOpacity() {

var currentOpacity = 
parseFloat(theObj["div1"].objGetOpacity());
currentOpacity += 0.1;                                               <----
theObjs["div1"].objSetOpacity(currentOpacity);
currentOpacity = 
parseFloat(theObjs["div2"].objGetOpacity());
currentOpacity -= 0.1;                                               <----
theObjs["div2"].objSetOpacity(currentOpacity);
}

2007-05-281
11360

(360쪽 11-5번 예제)

360페이지의 오탈자 내역에서
changeOpacity() 함수에서 위에 있는
currentOpacity -= 0.1;  
와 아래에 있는  
currentOpacity += 0.1; 
가 잘못되었다고 써있는데, 뭐가 잘못된건지 모르겠네요.
저는 오히려 부호를 바꿔주면 정상 동작 안하던데,
위에가 - 이고 아래가 + 인게 맞지 않나요? 
책에 있는대로 하면 오히려 정상동작 하고,
수정하면 오히려 안됩니다.

그리고, <body> 부분에서,
<div id="div2" ..중간생략.. filter: alpha(opacity=0)">
이라고 되어 있는 부분이 있는데,

이부분에서 opacity=0 으로 되어 있는데, 자바스크립트 로직
alphaOpacity 함수를 보면, 오히려

this.style.filter = "alpha(opacity:"+opacity+")";
라고 되어 있는 부분이
this.style.filter = "alpha(opacity="+opacity+")";
이게 맞지 않을까 싶네요.

물론 getOpacity() 함수에서,
(앞 생략).... filterString.indexOf(':')+1, ....(뒤 생략)
이라고 되어 있는 부분에서 : 로 구분하니까 정상적으로
동작이야 하겠지만,

아래 <body>와의 일관성을 맞춰줘야 한다고 봅니다.
고로 indexOf(':') 부분 역시 indexOf('=') 로 바뀌던가,

아니면 둘다 바꾸지 않고, <body> 부분에서
<div id="div2" .... filter: alpha(opacity:0)">
으로 해주던가.. 그런게 맞을거 같네요.

<body> 부분을 수정해줘보진 않았지만, :를 전부 = 로 바꿔준건
잘 동작했습니다.

2007-09-182
11365

(p365 여섯째줄)

aritist_tune -> artist_tune

2007-07-131
12370

(p370 첫번째 문단 첫째줄)

instaceOF -> instanceof

2007-07-131
12371

(p371 두번째문단 셋째줄)

aplhaOpacity -> alphaOpacity

2007-07-161
11371

(371~373쪽 [예제 11-7])

IE 6.0 에서 테스트 해본결과 실행이 안됩니다.

안보이는 이미지를 보이도록 하는 과정 중에 예외 오류 alert을 띄우려는 로직인거 같은데 아무런 반응이 없습니다. 이미지도 처음부터 보이고요.

그래서 [예제 11-5]에 있던 
<style type="text/css">
div {
        position: absolute;
        top: 30px;
        left: 50px;
    }
</style>
를 추가하고,
<div id="div1"> 를
<div id="div1" style="opacity: 0.0; filter: alpha(opacity=0)"> 로 수정 하였더니 실행은 잘 됩니다.
그런데 의도한 예외 오류는 발생 안하는 군요.
parseInt를 사용 안함으로써 alphaOpacity나 cssOpacity 함수에서 TypeError를 유도한거 같은데 실행은 잘 됩니다. 
alpahOpactiy/cssOpacity 매개변수로 숫자가 아닌걸 넘겨주면
예외오류는 발생했습니다. 

2008-01-272
12396

(p396 예제 12-4 중간)

#div2 스타일 지정에서

color: #; -> color: #000;

2007-09-152
13427

(427쪽 예제 13-1 18줄)

xmlhttp.overrideMimeType('text/xml');
위부분이 IE7에서 오류 발생함
하지만 파이어폭스는 잘작동함...
위 메소드도 크로스 브라우저에 맞게 고쳐주세요..

2007-06-011
12439

(439페이지 10번째줄)

책상에서 439페이지 10번째줄에

if(elem == 'value') 
라고 되어 있는데,

if(elem == value)

입니다. 'value'로 하면 변수가 아닌 문자열로 인식하기 때문에
에러 납니다.

2007-09-192
12454

(454)

"하지만 이 장을 잘 읽어본 독자라면 더 이상..."

2007-08-232
12463

(463)

제목줄(효과 살짝 엿보기) 바로 밑부분
script.aculu.os -> script.aculo.us

2007-08-232