티스토리 뷰

Javascript -자바스크립트 기초


아래 게시글들은 생활코딩의 글들을 참고하였다.



> ; 표시


자바스크립트는 줄이 바뀌면, 명령이 끝났다! 를 명시하므로 ;는 필수가아니다.

하지만 명시적으로 ;를 써주는 것이 좋음.


> 수 연산

//1.제곱
Math.pow(3,2); //9
//2.반올림
Math.round(10.6);    // 11, 10.6을 반올림
//3.올림
Math.ceil(10.2);     // 11, 10.2를 올림
//4.내림
Math.floor(10.6);    // 10, 10.6을 내림
//5.제곱근
Math.sqrt(9);        // 3,   3의 제곱근
//6.랜덤숫자
Math.random();       // 0부터 1.0 사이의 랜덤한 숫자

자바스크립트 메소드(문자 연산,수 연산..) 관련 참고

https://opentutorials.org/course/50/37


값으로서의 함수

javascript에서는 함수도 객체이다. javascript의 함수가 다른 언어의 함수와 다른점은 함수가 값이 될수 있다는 점!


a={
 b : function(){
   
}
}

변수 a에는 b라는 property가 있고 function() 이라는 메소드가 담겨있다.

위와 같이 객체의 속성 값으로 담겨진 함수를 메소드(method)라고 한다.


function cal(func,num){
 return func(num)
}

function increase(num){
 return num+1
}

alert(cal(increase, 1));

함수는 값이기 때문에 위와 같이 다른 함수의 인자로 전달이 가능한것이다.
> 리턴값으로서의 함수


function cal(mode){
   var funcs = {
       'plus' : function(left, right){return left + right},
       'minus' : function(left, right){return left - right}
  }
   return funcs[mode];
}
alert(cal('plus')(2,1));
alert(cal('minus')(2,1));

위와 같이 리턴값으로의 함수의 사용도 가능하다.
> 콜백함수


var numbers = [9,8,7,6,5,4,3,2,1];
alert(numbers.sort()); // array, [1,2,3,4,5,6,7,8,9]
alert(numbers); // array, [1,2,3,4,5,6,7,8,9], 원본을 변경한다.
alert(numbers.sort() === numbers); // boolean, true, 원본과 반환값이 같다.

var numbers = [20, 10, 9,8,7,6,5,4,3,2,1];
//array, [1,10,2,20,3,4,5,6,7,8,9], 암시적으로 원소를 문자로 형변환 하기 때문에 10이 1뒤에 온다.
alert(numbers.sort());

function sortNumber(a,b){
   // 비교 대상인 a와 b가 인자로 전달된다.
   //alert('a :'+a+', b:'+b);
   // a에서 b를 뺀 결과가 음수면 a가 b보다 작고, 0이면 같다.
   // sort메소드는 return 값이 음수,양수,0인지에 따라서 순서를 정한다.
   return a-b;
}
var numbers = [20, 10, 9,8,7,6,5,4,3,2,1];
alert(numbers.sort(sortNumber)); // array, [1,2,3,4,5,6,7,8,9,10,20]

function sortNumber(a,b){
   // 위의 예제와 비교해서 a와 b의 순서를 바꾸면 정렬순서가 반대가 된다.
   return b-a;
}
var numbers = [20, 10, 9,8,7,6,5,4,3,2,1];
alert(numbers.sort(sortNumber)); // array, [20,10,9,8,7,6,5,4,3,2,1]

위의 예제는 sortNumber 라는 콜백함수가 사용된 예이다.
> 비동기 콜백과 ajax
ajax? :웹페이지가 변경되지않고 서버와 웹브라우저가 내부적으로 통신하는 방법

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함