티스토리 뷰
Computer Engineering/Javascript
Javascript -자바스크립트 기초 (수연산, 값으로서의 함수, 비동기 콜백과 ajax)
Ideveloper2 2018. 3. 18. 17:27Javascript -자바스크립트 기초
아래 게시글들은 생활코딩의 글들을 참고하였다.
> ; 표시
자바스크립트는 줄이 바뀌면, 명령이 끝났다! 를 명시하므로 ;는 필수가아니다.
하지만 명시적으로 ;를 써주는 것이 좋음.
> 수 연산
//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]
'Computer Engineering > Javascript' 카테고리의 다른 글
Javascript - 속깊은 자바스크립트[2. 자바스크립트의 스코프와 클로저 -스코프 ] (1) | 2018.04.23 |
---|---|
javascript- 속깊은 Javascript [1. 웹과 자바스크립트] (0) | 2018.04.21 |
Javascript - 전역객체와 this (0) | 2018.04.08 |
Javascript - 타입과 값 (0) | 2018.03.23 |
Javascript -클로저 (0) | 2018.03.18 |
댓글