2020. 9. 11. 14:36

개발자라면, 문자열을 자를때 substring이라는 함수를 사용해 봤을 것입니다.
C#에서도 substring 이라는 함수가 있어서 문자열 자를때, 유용하게 사용합니다.

참고로 c#에서의 substring함수는
첫번째 인자는 시작 인덱스이고, 두번째 인자는 길이입니다.
즉, “abcd”라는문자가 있는데, “cd”만 가져오려면,
Substring(2,2) 라고 코딩하시면 됩니다.

단, 자바스크립트에서는 다릅니다.!!
Substr함수는
첫번째 인자가 시작 인덱스이고, 두번째 인자가 길이입니다.
Substring함수는
첫번째 인자가 시작 인덱스이고, 두번째 인자는 마지막 인덱스 입니다.
예를 들어,
var tel = ‘01012345678’;

결과 : 010-1234-5678 이런식으로 자르려면,

1. Substr함수
tel = tel.substr(0,3) + ‘-‘ + tel.substr(3,3) + ‘-‘ + tel.substr(6,4);

2. Substring 함수
tel = tel.substring(0,3) + ‘-‘ + tel.substring(3,6) + ‘-‘ + tel.substrting(6,10);

위와 같이 사용하시면 됩니다.
자바나 c#코드를 사용하는 개발자라면,백엔드 코드 개발은 substring 함수를 사용하고, 프론트앤드 개발은 substr함수를 사용함이 혼돈을 방지할 거라 생각됩니다.
끝—-

'javascript' 카테고리의 다른 글

Ajax Post 전송  (0) 2020.10.07
Html 디자인 사이트  (0) 2020.10.06
자바스크립트 비동기 호출  (0) 2013.04.17
함수와 클로저  (0) 2013.04.17
자바스크립트 기초정리(삼항연산자, for in 문)  (0) 2013.04.17
Posted by neodada09
2013. 4. 17. 14:13

자바스크립트 코딩에서 비동기 호출은 빈번히 발생합니다. 복잡한 페이지에서는 10번이상 서버에 호출해서 데이터를 가져오는 경우도 있습니다. 그래서 간단한 비동기 호출에 대해서 알아 보겠습니다.

xmlhttp, ajax를 이용한 get,post 호출에서 success, fail 이벤트 핸들러로 받는것이 일반적인 비동기 호출입니다.

아래는 사용자 정의 함수를 만들어서  비동기 호출을 하는 샘플입니다.

-------------------------------------------------------

<script>

        function getFirst(name, callback) {

            //AJAX 등 비동기 호출로 대체가능
            setTimeout(function () {
                callback();
            }, 3000);
           
        }
        this.getFirst('bj', function () {
            alert('async');
        });
        alert('sync');
       
    </script>

------------------------------------------------------

 

onload 이벤트에서 getFirst 함수를 호출했을경우, 순차적으로 실행되므로, alert 창으로 sync가 먼저 찍히고,  getFirst함수가 호출되고 3초후  callback 함수 호출시 비로소 async alert창이 뜸을 알 수 있다.

베이스가 되는 코드값을 로드해야 다음 프로세스를 진행할 수 있을 경우, 유용하게 사용될수 있습니다.

 

 

 

 

'javascript' 카테고리의 다른 글

Ajax Post 전송  (0) 2020.10.07
Html 디자인 사이트  (0) 2020.10.06
javascript substr과 substring 비교  (0) 2020.09.11
함수와 클로저  (0) 2013.04.17
자바스크립트 기초정리(삼항연산자, for in 문)  (0) 2013.04.17
Posted by neodada09
2013. 4. 17. 11:35

자바스크립트의 함수는 선언적 함수 와 익명함수로 나뉠수 있습니다.

선언적 함수의 예>

function getFirst() {
            alert('a');
        }

익명 함수의 예>

 var getSecond = function () {
            alert('c');
        }

익명 함수의 경우, 객체 지향 프로그래밍 할때 주로 쓰이는 방식으로 추후에 객체로 쓰이는 방법을 예시로 들겠습니다.

자 이제 클로저에 대해 알아 보겠습니다.

클로저는 함수의 지역변수를 호출해 사용할수 있는 기능입니다. 위 예에서 getFirst의 a라는 변수가 있다면 외부에서는 a라는 변수를 호출할 수 없지만 클로저 기능을 이용하면 쓸 수 있습니다.

---------------------------------------------

<script>

        function getThird(val) {
            var val1 = 'Hello ' + val;
            return function () {
                return val1;
            }
        }
       
        var third = this.getThird('bjpark');

        alert(typeof(third) + ' : ' + third());

    </script>

----------------------------------------------

 

 

결과값에 typeof(third) 를 찍어 봤는데, third는 변수이지만 타입은 보시다시피 함수 입니다. 왜냐면 getThird함수는 함수를 리턴하였으니까요. 그래서 리턴받은 함수인  third()를 호출해서 getThird함수의 내부값을 끄집어 올수 있는 것입니다.

 

왜 귀찮게 전역변수 선언해서 가져오면 되지, 내부변수값 가져오려고 어렵게 하냐구요?

위에서도 언급했지만, 객체지향 프로그래밍에서 유용하게 사용되므로, 개념만 이해하고 넘어갑시다~!

 

 

 

 

지금은 기초적인 클로저의 개념에 대해 알아보고, 추후에 과연 이 녀석이 어디에 유용하게 쓰일지 고민해 보도록 하겠습니다. 요즘 이슈가 되고 있는것만은 사실이니까요.

'javascript' 카테고리의 다른 글

Ajax Post 전송  (0) 2020.10.07
Html 디자인 사이트  (0) 2020.10.06
javascript substr과 substring 비교  (0) 2020.09.11
자바스크립트 비동기 호출  (0) 2013.04.17
자바스크립트 기초정리(삼항연산자, for in 문)  (0) 2013.04.17
Posted by neodada09