[Web/JS]JavaScript(1)-Basic Syntax
JavaScript
- 웹 브라우저에서 작동하는 프로그래밍 언어이자 ECMAScript 표준을 준수하는 스크립트 언어
자바스크립트는 객체(Object) 기반의 스크립트 언어로 주로 웹의 동작을 구현하는데 사용된다. HTML에서는 웹 문서의 내용을 구성하고 CSS에서는 웹 문서의 레이아웃이나 색상, 스타일 등 디자인을 담당했다면 JS에서는 웹 문서의 각 요소를 필요에 따라 동적으로 움직이게 할 수 있다.
아래는 자바스크립트의 예시 중 하나이다.

메뉴 화면에서 ‘문제’라는 탭에 마우스를 가져가면 아래의 그림과 같이 같은 위치에 여러가지 하위 메뉴가 나타나는 것을 볼 수 있다. 이러한 동작이 자바스크립트를 통해 만들어 질 수 있다.
JavaScript Basic Syntax
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script> "이곳에 자바스크립트 코드를 작성한다. "</script>
<script type="text/javascript"> "코드 작성" </script>
<script>
var a = 1;
var a = 2;
var b = 4;
alert(a + b);
// 한 줄 주석
/*
여러 줄을
작성합니다.
*/
</script>
- 자바스크립트 코드는 위와 같이
<script>태그 안에서 작성한다. - 자바스크립트의 주석은 JAVA언어와 동일하게 사용된다
// - 한줄 주석, /* 내용 */ - 여러 줄 주석 - 자바스크립트 코드는 html 문서 내의 head 태그나 body 태그 안에 모두 사용 가능하지만 관례적으로 head 태그 안에 작성한다.
1
2
3
4
5
<script type="text/javascript">
console.log("내용 작성");
//가장 많이 사용하는 function
alert("내용 작성");
</script>
- console.log(“내용 작성”) : Java에서 System.out.println 역할과 동일하다. 웹 페이지에서 바로 출력 되지 않고 f12 클릭 후 Chrome 개발자 모드의 Console 창에서 “내용 작성” 문자열이 출력된 것을 확인할 수 있으며 매개변수가 있다면 변수의 내용이 출력된다.
- alert(“내용 작성”) : 가장 많이 사용되는 function, 웹 페이지의 팝업창으로 alert() 안의 내용이 출력된다.
cf) Java 에서는 함수를 “메서드/메소드”라고 표현하는 반면 JavaScript 에서는 보통 “function” 으로 사용한다.
외부의 Script 파일과 연결하여 JavaScript 작성
1
<script src="외부 스크립트 파일 경로 작성"></script>
- 외부의 js 파일과 연결할 경우 script 태그가 시작하는 부분에 src 속성을 통해 경로를 지정해준다.
- 외부 자바스크립트 파일(.js) 은
<script>없이 자바스크립트 소스만 바로 작성하고 확장자는 .js파일로 저장한다. - 외부 파일로 따로 생성하면 업데이트가 필요할 떄 js파일만 수정하면 되기 때문에 유지보수성이 향상되게 된다.
Variable(변수)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script type="text/javascript">
var a=1; //중복선언 가능
var a=2;
alert(a);
let b=1;
// let b=2; // let은 중복선언이 불가, 같은 영역에서 동일한 변수명으로 let을 선언
b=2;// 재할당 가능
alert(b);
const c=1;
// c=2;// 상수이므로 중복선언 및 재할당 불가
alert(c);
</script>
-
JavaScript 에서 변수 선언 및 정의는 데이터 타입을 명시하지 않는다.
-
ECMAScript : 다양한 브라우저에서 일관성 있는 동작을 위한 스크립트 표준을 말한다
-
ES5(ECMA5, 2009) : 변수 선언 var -> 중복선언 가능 ( Function-level scope )
-
ES6(ECMA6, 2015) : 변수 선언 추가 let -> 중복선언 불가 (Block-level scope ), 상수 선언 const 등 추가
자바의 지역변수와 유사하다 - 선언된 실행 영역에서만 사용가능
-
Function
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<body>
<script type="text/javascript">
//함수 정의
function f1() {
console.log("f1 함수실행");
alert("f1 함수실행");
}
function f2(message){
alert(message);
}
function f3(info, num){
//window 객체의 function alert() 함수
//window 는 생략가능
window.alert(info + " " + num);
}
</script>
javascript function(함수) 테스트
<!-- onclick 시 함수 호출 -->
<input type="button" value="함수테스트1" onclick="f1()">
<!-- 매개변수 함수, 문자열은 '," 다 가능 -->
<input type="button" value="함수테스트2" onclick="f2('Hello')">
<input type="button" value="함수테스트3" onclick="f3('Hello', 7)">
- onclick() 을 수행하면, 즉 웹 페이지 상에 생성된(input 태그) 각각의 버튼을 클릭하면 onclick 속성에 의해 함수가 호출되므로, 해당하는 f1(), f2(), f3() 함수가 실행되어 메세지가 출력된다.
- window 객체는 생략 가능하다.
Confirm
1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript">
function test(){
// confirm()은 반환값이 true/false인 확인창
// 확인 누르면 true, 취소 누르면 false를 반환
// window 객체명은 생략가능
let result=window.confirm("당신은 민초파입니까?");
//alert(result);
if(result)
alert("환영합니다. Welcome to Mincho world!");
else
alert("어서 나가주세요(단호)");
}
</script>
-
confirm() : true / false 로 반환되는 함수 alert 함수와 같이 팝업창으로 웹 페이지상에 출력되고 ‘확인’ 과 ‘취소’ 버튼이 있다. (true / false 선택)
-
confirm 함수도 window 객체의 메서드다.
-
test() 함수가 호출되어 “당신은 민초파입니까?”라는 문구의 확인/취소 버튼이 있는 팝업창이 출력되고 각각의 버튼에 따라 위와 같은 메세지가 출력된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript">
function enterMovie(){
var result=confirm("만 19세 이상입니까?");//윈도우 객체명 생략가능
if(result) {
//alert("성인영화 즐감하세요!");
//해당 url로 페이지가 이동된다
location.href="http://pororopark.com";
}else {
alert("다음 기회에");
}
}
</script>
- confirm() 함수에서 확인 버튼을 클릭 시 (= 반환값이 true 일때) 특정 경로로 이동하고 싶다면 위와 같이 조건문을 통해 location 객체의 href 를 통해 경로를 지정해준다.
Reference
- http://tcpschool.com/javascript/js_intro_basic