>웹 프론트엔드 >JS 튜토리얼 >JavaScript 문이 끝나지 않는 문제;_javascript 팁

JavaScript 문이 끝나지 않는 문제;_javascript 팁

WBOY
WBOY원래의
2016-05-16 19:17:45936검색

유연한 스크립팅 언어로서 JavaScript의 성공은 우리에게 분명합니다. 하지만 저는 자바스크립트 문장이 꼭 ";"으로 끝날 필요가 없다는 사실에 늘 고민해왔습니다! 혼란스러운 문장과 코드 형식(줄 바꿈)에 의존하게 만드는 것 외에는 이 기능의 장점을 찾지 못했습니다. ";"를 하나 적게 입력할 수 있어서 그런 걸까요?! C#, C/C 등에서 ";"를 강제로 입력하는 데 익숙하다면 더욱 우울해질 것입니다.

동시에 이 기능은 JavaScript 디버깅에 재앙입니다. 다음 설명이 맞나요?

if ( 결과 == 'AdvancedTimeSelect' )
{
this.DoAdvancedTimeSelect()
// . > 0 )
{
// .
}
// .
이것은 "if"- 코드입니다. "else if"-"else" 구조를 사용할 때 실수로 작성되었습니다(if 누락). 명령문의 끝으로 ";"이 필요한 C#과 같은 언어인 경우 이 명령문은 명백한 문법 오류입니다.

하지만 위 코드는 자바스크립트에서 문법적인 문제가 없고 "정상적으로" 실행될 수도 있습니다. 단지 일반적인 부작용이 너무 우울하기 때문일 뿐입니다. 이 코드가 완전한 기능 모듈에 있으면 디버깅에 끝없는 혼란을 가져옵니다. 또 다른 중요한 이유는 제가 시력이 좋지 않아서 이렇게 작성했지만, JavaScript에서는 ";"으로 끝나는 명령문을 요구하지 않는다는 규칙에 대해서는 여전히 걱정이 됩니다!

위 코드의 결과는 첫 번째 if 조건이 true이면 두 개의 ()와 두 개의 {} 내의 코드가 실행된다는 것입니다. true가 아닌 경우 () 및 {}로 묶인 코드를 포함하여 else 이후의 코드가 실행됩니다. JavaScript는 (results && results.length > 0)을 else의 분기로 문으로 처리하므로 {}는 독립적인 문 세트입니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.