Latest web development tutorials
×

JavaScript 코스

JavaScript 코스 JavaScript 간략한 소개 JavaScript 용법 JavaScript 수출 JavaScript 문법 JavaScript 문 JavaScript 주의 JavaScript 변수 JavaScript 데이터 유형 JavaScript 사물 JavaScript 기능 JavaScript 범위 JavaScript 행사 JavaScript 현 JavaScript 운영자 JavaScript 비교 JavaScript If...Else JavaScript switch JavaScript for JavaScript while JavaScript Break & Continue JavaScript typeof JavaScript 형식 변환 JavaScript 정규 표현식 JavaScript 오류 JavaScript 디버깅 JavaScript 변수 리프트 JavaScript 엄격 모드 JavaScript 부적절한 사용 JavaScript 폼 인증 JavaScript 예약 키워드 JavaScript JSON JavaScript void JavaScript 코드 사양

JS 기능

JavaScript 함수 정의 JavaScript 함수 인수 JavaScript 함수 호출 JavaScript 클로저

JS HTML DOM

DOM 간략한 소개 DOM HTML DOM CSS DOM 행사 DOM EventListener DOM 요소

JS 고급 자습서

JavaScript 사물 JavaScript Number JavaScript String JavaScript Date JavaScript Array JavaScript Boolean JavaScript Math JavaScript RegExp 사물

JS 브라우저 BOM

JavaScript Window JavaScript Window Screen JavaScript Window Location JavaScript Window History JavaScript Navigator JavaScript 대중적인 JavaScript 시간 제한 이벤트 JavaScript Cookies

JS 창고

JavaScript 창고 JavaScript 테스트 jQuery JavaScript 테스트 Prototype

JS 예

JavaScript 예 JavaScript 객체 인스턴스 JavaScript 브라우저 객체 인스턴스 JavaScript HTML DOM 예 JavaScript 개요

JS 참조 설명서

JavaScript 사물 HTML DOM 사물

자바 스크립트의 부적절한 사용

이 장에서 우리는 자바 스크립트 오류의 사용을 설명합니다.


응용 프로그램 할당 연산자 오류

할당 연산자는 등호 (=) 인 경우 자바 스크립트 프로그램에서 오류 결과를 생성하는 조건문을 사용하는 경우, 올바른 접근 방식은 두 개의 등호 (==)의 비교를 사용하는 것입니다.

조건문이 false를 반환하는 경우, x는 10과 동일하지 않기 때문에 (우리는 예상) :

var에 X = 0;
경우 (X의 == 10)

»시도

조건문은 (우리가 기대하지 않는 것이) 문이 할당 X (10, 10)의 조건에 해당하기 때문에 실행 true를 돌려주는 경우 :

var에 X = 0;
경우 (X = 10)

»시도

조건문은 (하지 우리가 기대했던) 문이 할당 X 0,0의 조건이 거짓이므로 실행 false를 반환하는 경우 :

var에 X = 0;
경우 (X = 0)

»시도
주의 변수 할당의 값을 돌려줍니다.

일반적인 오류 비교

다음 조건문 true를 반환하는 경우, 종래의 비교에서, 데이터 입력은 무시된다 :

VAR X = 10;
var에 y를 = "10";
경우 (X == Y)

»시도

엄격한 비교 연산에서, 신원 계산 === 연산자, 타입 검사의 식의 값은, 다음과 같은 조건이 문은 false를 반환하는 경우 상태 :

VAR X = 10;
var에 y를 = "10";
경우 (X === Y)

»시도

이 오류는 종종 신원 연산자 (===)를 사용하여 계산 문을 비교 하였다 전환 스위치 문에서 발생합니다 :

다음 예는 경고 팝업을 실행합니다 :

VAR X = 10;
스위치 (X) {
케이스 (10) : 경고 ( "안녕하세요" );
}

»시도

유형은 경고 팝업을 수행하지 않기 때문에 다음 예는 일치하지 않습니다 :

VAR X = 10;
스위치 (X) {
경우 "10": 경고 ( " 안녕하세요");
}

»시도

추가 및 연결 고려 사항

함께 두 숫자의 추가.

연결 문자열은 두 가지를 연결합니다.

추가 및 자바 스크립트는 + 연산자를 사용하여 연결되어 있습니다.

다음으로, 우리는 예로서 숫자와 구별 문자열로 함께와 연결된 두 개의 숫자를 볼 수 있습니다

VAR X = 10 + 5; // X (15) 결과입니다
VAR X = 10 + "5" ; 결과는 "105"X입니다 //

»시도

결과를 추가하여 변수가 일치하지 않습니다 :

VAR X = 10;
var에 y를 = 5;
var에 Z = X + Y; 결과 // Z는 15

VAR X = 10;
VAR의 Y = "5";
var에 Z = X + Y; 결과 // Z는 "105"입니다

»시도

부동 소수점 데이터의 사용을 참고

자바 스크립트의 모든 데이터가 저장 64 비트 부동 소수점 데이터 유형 (플로트)에 기초한다.

데이터의 소수점 정밀도 부동에 자바 스크립트를 포함한 모든 프로그래밍 언어는 결정하기가 어렵습니다 :

var에 X = 0.1;
var에 Y = 0.2;
var에 Z = X + Y 결과 // Z는 0.3
경우 (Z의 == 0.3) // false를 돌려

»시도

나는이 문제를 해결, 당신은 해결하기 위해 정수의 곱셈과 나눗셈을 사용할 수 있습니다 :

var에 Z = (X * 10 + Y * 10) / (10); // Z 결과는 0.3

»시도

자바 스크립트 문자열 지점

우리는 선이 문자열에서 자바 스크립트 문을 실행 나누기 사용

예 1

var에 엑스 =
"안녕하세요!";

»시도

그러나, 문자열에 직접 캐리지 리턴은 주어진되고있다 :

예 2

var에 엑스 = "안녕하세요.
세계 "!

»시도

우리는 오류 메시지를 확인하기 위해 개발 도구를 누르거나 F12을 선택할 수 있습니다 :

다음과 같이 문자열 줄 바꿈, 백 슬래시 (\)를 사용합니다 :

예 3

var에 엑스 = "안녕하세요. \
세계 "!

»시도

잘못된 세미콜론

다음의 예는, 세미콜론 잘못 때문에, 코드의 문 블록이 실행되지 않을 경우 :

경우 (X의 == 19);
{
// 코드 블록
}

»시도

문주의를 돌려줍니다

자바 스크립트는 자동으로 기본 인 코드의 마지막 줄에 끝납니다.

다음 두 예는 동일한 결과 (해당 없음 세미콜론)을 반환 :

예 1

myFunction 함수의 (a) {
var에 전력 = 10
A * 파워를 반환
}

»시도

예 2

myFunction 함수의 (a) {
var에 전력 = 10;
A * 전원 복귀;
}

»시도

자바 스크립트는 여러 줄 문을 종료 할 수있다.

하기 실시 예는 동일한 결과를 반환 :

예 3

myFunction 함수의 (a) {
VAR
전력 = 10;
A * 전원 복귀;
}

»시도

그러나, 결과의 다음 예는정의되지 않은 반환됩니다 :

예 4

myFunction 함수의 (a) {
VAR
전력 = 10;
반환
A * 전원;
}

»시도

왜 이러한 결과는 무엇입니까? 때문에 자바 스크립트에서 일관된 4 코드와 다음 코드의 예 :

function myFunction(a) {
    var
    power = 10;  
    return;       // 分号结束,返回 undefined
    a * power;
}

결심

불완전한 문장 인 경우로는 다음과 같다 :

var

자바 스크립트는 두 번째 줄의 문장을 읽으려고합니다 :

power = 10;

그러나이 문을 완료하기 때문에 :

return

자바 스크립트가 자동으로 문을 해제합니다 :

return;

자바 스크립트에서 세미콜론은 선택 사항입니다.

반환 완전한 문장이기 때문에 자바 스크립트 return 문을 꺼집니다.

주의참고 : return 문의 라인을 중단하지 마십시오.

배열 인덱스 이름을 사용

대부분의 프로그래밍 언어는 어레이 인덱스와 같은 이름의 사용을 허용한다.

배열의 인덱스가 연관 배열 (또는 해시)라고 같은 이름을 사용합니다.

JavaScript는 인덱스 어레이, 숫자 만 인덱스 이름의 사용을 지원하지 않는다.

VAR 사람 = [];
인 [0] = "존" ;
사람 [1] = "미상" ;
사람은 [2] (46) =;
VAR X = person.length; // Person.length 3을 반환
var에 y를 = 사람 [0] // 사람 [0] "요"를 반환

»시도

자바 스크립트에 대한 인덱스로서 오브젝트의 이름을 사용한다.

배열에 액세스 할 때 지표로 이름을 사용하는 경우, 자바 스크립트 객체의 표준 배열을 재정의합니다.

배열의 메서드와 속성이 더 이상 사용되지 않습니다이 작업을 수행 한 후, 그렇지 않으면 오류가 발생합니다 :

VAR 사람 = [];
사람 [ "firstName을"] = " 존";
사람 [ "이 lastName"] = " 미상";
사람은 [ "나이"] (46) = ;
VAR X = person.length; // person.length 0을 반환
var에 y를 = 사람 [0] // 사람 [0] undefined를 반환

»시도

배열 요소를 정의하고, 마지막으로 쉼표를 추가 할 수 없습니다

오류가 정의되어 있습니다 :

points = [40, 100, 1, 5, 25, 10,];

방법의 정확한 정의 :

points = [40, 100, 1, 5, 25, 10];

객체를 정의하고, 마지막으로 쉼표를 추가 할 수 없습니다

오류가 정의되어 있습니다 :

websites = {site:"本教程", url:"www.w3big.com", like:460,}

방법의 정확한 정의 :

websites = {site:"本教程", url:"www.w3big.com", like:460}

NULL이 아닌 정의되지 않은

변수, 속성 및 메서드에 대한 정의되지 않은 자바 스크립트 객체에 대한 널 (null),합니다.

객체는 달리 정의되지 않은, 널 (null)으로 만 가능합니다 정의된다.

우리는 개체의 존재는, 객체가 아직 정의되지 않은 경우 오류가 발생합니다 여부를 테스트합니다.

잘못된 사용 :

if (myObj !== null && typeof myObj !== "undefined") 

올바른 방법은 우리가 객체가 정의되었는지 여부를 감지하는 대한 typeof 사용할 필요가 있다는 것입니다 :

if (typeof myObj !== "undefined" && myObj !== null) 

블록 범위

자바 스크립트는 각 코드 블록에서 새 범위를 만들지 않습니다, 각 코드 블록의 일반적인 범위는 글로벌이다.

다음 코드 내가 변수가 정의되지 않은 대신 10를 반환합니다 :

대한 (var에 나는 = 0; i가 10 <; 내가 ++) {
// 일부 코드
}
난을 반환;

»시도