본문 바로가기

JavaScript

[javascript] hoisting hoisting을 해석하면 '끌어올리기'이다. 자바스크립트는 함수내에서 여기저기에 여러개의 var선언을 사용하지만 실제로 모두 함수상단에 선언된 것과 동일하게 동작합니다. 이를 호이스팅이라 합니다. 아래 코드를 보면서 console.log에 뭐가 나올지 생각하보면 name='global';//전역변수function func(){console.log(name);//undefinedvar name='local';console.log(name);//local}func(); 첫번째 console.log는 global이 두번쨰console.log는 local이 찍힌다고 생각할 수 있습니다. 지역변수 name이 선언되기 전에 출력을 했으니 전역변수를 출력하고 다음 출력은 지역변수가 선언된 다음이니 지역변수값이 출력.. 더보기
[javascript] ==과 === console.log(false==0); console.log(''==0); 을 해보면 true가 출력된다. 이는 암묵적 타입캐스팅 때문에 그러는데 항상 값과 타입을 모두확인하는 ===dhk !==연산자를 사용하자 더보기
[javascript] javascript patterns http://shichuan.github.io/javascript-patterns/ 더보기
[javascript] 배열을 스택처럼 다루기 var array=[]; //배열선언 array.shift(); //배열 첫번째 원소 삭제array.unshift() //배열 첫번째 원소 추가array.push() //배열 마지막 원소 추가array.pop() //배열 마지막 원소 삭제 더보기
[javascript] setTimeout, setInterval, clearInterval setTimeout 메서드는 일정시간후 함수를 실행한다.setTimeout(fn, delay);setTimeout(function(){console.log('setTimeout')}, 1000); //1초후 setTimeout출력 setInterval 메서드는 일정시간마다 함수를 실행한다.setInterval(fn, delay);setInterval(function(){console.log('setInterval')}, 1000) //1초마다 setInterval출력 한가지 주의할 점이 있다 아래와 같이 입력해보면setInterval(console.log('setInterval'), 1000) //setInterval 한번만 출력차이점은 함수안에 있을때 반복해서 실행한다는 점이다. 다음으로 clearIn.. 더보기
[javascript] 유효범위 (scope) 자바스크립트의 유효범위는 기존 블록 유효범위와 다르다 유효 범위가 블록 안에 존재 하지 않고 함수 안에 존재 한다. 무슨말인지 잘 이해가 안갈수도 있는데 예를 보면서 설명해 보겠다. var test='111' //전역변수 test //if블록 안if(true){var test='222'}console.log(test) // 222가 출력 보통 다른 언어를 생각한다면 if문안이니까 지역변수로 222가 저장되고 전역변수는 변화가 없다고 생각하지만 test변수값에는 222가 설정되었다. 다음 코드를 보자 var test='111'; //전역변수test function test(){var test='222';}test();console.log(test); //111이 출력 위와 같이 함수안에 설정된 변수는 지역.. 더보기
[javascript] overloading 자바스트립트에서 함수 오버로딩 기능을 직접 제공하지 않지만 오버로딩을 가능하게 하는 방법이 있다. 일단 함수 오버로딩을 하려면 두가지 정보가 필요하다. 전달인자의 개수와 전달인자 타입을 알아야 한다. 우선 전달 인자의 개수로 오버로딩 하는 방법을 알아보자 arguments 변수를 활용하여 오버로딩을 할 수 있다. arguments는 자바스트립트의 모든 함수 내부에 함수로 전달되는 모든 전달인자를 담은 배열같이 작동하는 변수다. function message(){for(var i=0; i 더보기
[javascript] 문자열 자르기 (split, substring, substr) 문자열의 일부만 잘라 사용할 경우가 있다. 예제를 보면서 바로 해보자 var string='2013-06-11'; 위 문자열을 잘라보겠다. 문자열에 있는 '-'를 기준으로 자를려면 다시 만하면 특정 문자를 기준으로 문자열을 자를려면 split을 사용하면 된다. var strArray=string.split('-'); 이렇게 split함수에 잘라내는데 기준이 될 문자열을 넣으로 문자열을 잘라 배열로 넘겨준다. console.log(strArray[0]+', '+strArray[1]+', '+strArray[2]); 출력해보면 각 배열에 2013, 06, 11이 담겨진걸 확인 할 수 있다. 다음으로 문자열에서 기준없이 사용하고 싶은 문자열만 골라 가져오고 싶다면 substring함수를 사용하면 된다. sub.. 더보기
[javascript] 메모리 관리 https://developer.mozilla.org/ko/docs/JavaScript/Memory_Management http://blog.socialcast.com/javascript-memory-management/ http://jee1.tistory.com/862 더보기
[javascript] navigator 기기 정보 및 언어설정 알아보기 웹에서 os정보를 알아볼려면 navigator객체를 사용하면 알 수 있다. 기기정보 : navigator.platform 언어정보 : navigator.language 본인 폰에서 찍어보면 다음과 같다.console.log(navigator.platform) //iPhoneconsole.log(navigator.language) //ko-kr 이 외에도 다른 정보들도 가져올 수 있다. 더보기