목록개발자의 길/Javacsript (4)
내맘대로 살기🎉
처음에 느낌표 두 개를 보고 "이건 도대체 뭐지?"라는 생각이 들었습니다. 그래서 찾봤지요 ! [ 느낌표 두 개 ]라고 검색을 해 본 결과, 아주아주아주 ! 많이 나왔어요. 그래서 쉽게 어떠한 결과인지 알 수 있었습니다. 그런데, boolean으로 형 변환. 0을 false로, 1을 true로.ex)if(!!window.applicationCache){}// 어플캐시를 지원하는 단말이면 true, 지원하지 않으면 false. 이렇게 써져 있더라구요." 아니 그러면 그냥 window.applicationCache라고 하면 되잖아? "라는 생각에 직접 해봤는데, 실제로 굉장히 유용할 것 같더라구요. var ninja = function myNinja(){ var a = 1; var result = "I'm ..
간략하게 두가지 방법으로만 정리해보자. 메서드를 이용한 재귀 메서드를 이용할 때는 익명함수를 사용한다. 어차피 메서드의 이름으로 그 함수를 동작시킬 수 있기 때문에 굳이 함수의 이름을 부여해줄 필요가 없다. 이런 말이 있다. "부르지도 않는데, 고양이에게 이름이 왜 지어줘 ?"(자바스크립트 닌자 비급 中). 맞는 말이다 :-) 코드로 바로 확인해보자. 메서드를 이용한 재귀함수는 이런 식으로 사용하며 된다. 어렵지 않다. 하지만, 주의해야할 점이 있다. 객체를 만들 때, 항상 염두해야할 점으로 재사용성이라고한다. phone이라는 함수를 재사용하려면 위의 ring이라는 메서드의 콘텍스트를 직접 지정해주는 것이 아니라, this로 알아서 자신의 콘텍스트를 잡게 해줘야한다. 재귀를 이용한 인라인 함수 인라인함수..
자바스크립트 닌자 비급이라는 책으로 공부 중에, 정리가 너무 잘되어 있어서, 나 또한 정리를 하고 머릿속에 더 깊숙한 곳에 넣고 싶었다. 다른 언어들과는 다르게 javascript에서는 유효범위가 조금은 다르다. JAVA를 예로 들면, if (window) {var x = 111;}alert(x);라고 하면, x는 undefined 값이 나온다. 하지만 Javascript에서는 x가 111이라는 값을 갖고 있다. 위의 코드에서 변수 a,b,c와 함수 inner()의 유효범위를 확인해보자. outer() 함수 내에 있는 변수 a,b,c는 초기화된 시점에서 outer() 함수가 끝나는 지점까지 그 값을 갖는다.그렇다면 inner() 함수도 선언된 시점에서 outer() 함수가 끝나는 지점까지 함수의 기능을 ..
문제 존레식, 베어 바이볼트의 자바스크립트 닌자 비급으로 자바스크립트를 공부하는 중에, 생전 처음(기억이 가물가물..)보는 연산자(?)를 발견하였습니다. 이것은 삼항연산자도 아니고, 어떤 식으로 검색을 해야할지도 애매해서 블로그에 적기로 했습니다. 코드 return filter ? filter.indexOf("opacity=") >= 0 ? (parseFloat(filter.match(/opacity=([^)]+/)[1] / 100) + "" : "" : elem.style.opacity; 이 코드를 보는데, 한 줄 한 줄은 이해가 가는데, 전체적으로 이해가 도저히 안가더라구요. 그래서 웹개발 커뮤니티 중에 가장 오래되었다는 okky.kr에 질문했습니다. 해결 이런 식으로 개발자도구에서 테스트를 했습니다..