목차
| 연산자
개요
부동 소수점 숫자에는 정밀도 오류가 있습니다.
증가 및 감소
비교 연산자
논리 연산자
할당 연산자
작업 우선순위
| 프로세스 제어
조건 판단 if,if...else
삼항식
분기문 스위치
테스트 후 표현식 및 값의 값은 숫자, 문자열 등이 될 수 있습니다.
| 주기
| 중단점 디버깅
브라우저 쪽에서 JavaScript 중단점 디버깅
파이어폭스
| 배열
어레이 생성
액세스 및 순회
입장
JS에는 범위를 벗어난 배열 예외가 없습니다. 존재하지 않는 첨자 요소에 접근하면 획득한 요소 값이 정의되지 않음
순회: 루프를 사용한 순회의 예는 다음과 같습니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
var nums = [1,2,3,4,5,6];
for(var i=0 ; i<3 ; i++){
console.log(nums[i]);
}
</script>
</head>
<body>
</body>
</html>
배열의 길이 얻기
배열 이름.길이
JavaScript 배열과 Java의 차이점
차이점
-
JS 배열: 배열의 초기 용량을 지정할 수 없고, 자동 확장이 가능하며, 배열이 경계를 넘지 않음(경계를 넘으면 undefined가 반환됨) 어떠한 데이터 유형도 배열에 저장할 수 있으며, 심지어 다른 데이터 유형도 혼합될 수 있습니다.
-
Java의 숫자: 초기 용량을 지정해야 하며 길이가 결정되면 변경할 수 없으며 ArrayIndexOutOfBoundsException이 발생하고 지정된 유형 하나만 배열에 저장할 수 있습니다.
[사례] JS의 특성을 이용하여 배열에서 0이 아닌 숫자를 제거
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
var nums = [1,2,0,3,4,5,0,2,3];
var newNums = [];
for(var i = 0 ; i < nums.length ; i++) {
if(nums[i] != 0) {
// 很巧妙地把数组玩成了集合,可以灵活变换长度(JS数组的特性)
newNums[newNums.length] = nums[i];
}
}
console.log(newNums);
</script>
</head>
<body>
</body>
</html>
위의 코드는 JavaScript의 동적 확장 기능을 활용합니다. 동일한 코드 조각이 Java에서 오류를 보고합니다. newNums 배열이 초기화되지 않았습니다.