1.== Javascript에는 두 가지 항등 연산자 세트가 있습니다. 하나는 == 및 !=이고 다른 하나는 === 및 !==입니다. 전자는 값의 동일성만 비교하는 반면, 후자는 값 외에 유형이 동일한지 여부도 비교합니다.
이전 그룹을 사용하지 말고 항상 === 및 !==만 사용하세요. ==는 기본적으로 유형 변환을 수행하기 때문에 규칙을 기억하기가 매우 어렵습니다. 믿을 수 없다면 다음 다섯 가지 판단의 값이 참인지 거짓인지 답변해 주세요.
false == 'false'
false == undefine
false == null
null == 정의되지 않음
0 == ''
처음 세 개는 거짓이고 마지막 두 개는 참입니다.
2.with with의 원래 의도는 키보드 입력을 줄이는 것입니다. 예를 들어
obj.a = obj.b;
obj.c = obj.d
는
with(obj) {
a = b
c = d; 🎜>
그러나 실제 작업 중에 인터프리터는 obj.b 및 obj.d가 존재하는지 먼저 확인하고, 존재하지 않으면 전역 변수 b 및 d가 존재하는지 확인합니다. 이는 비효율을 초래하고 사고로 이어질 수 있으므로 with 문을 사용하지 않는 것이 가장 좋습니다.
3.eval
eval은 문자열을 직접 실행하는 데 사용됩니다. 이 명령문은 성능 및 보안 문제가 있고 코드를 읽기 어렵게 만들기 때문에 사용해서는 안 됩니다.
eval이 할 수 있는 일은 평가 없이도 할 수 있습니다. 예를 들어 eval("myValue = myObject." myKey ";");
은
myValue = myObject[myKey]
로 직접 작성할 수 있습니다. ajax 작업에서 반환된 문자열 , 공식 홈페이지를 이용하시면 됩니다. json_parse.js에서 제공하는 파서를 실행합니다.
4.continue
이 명령의 기능은 루프의 선두로 돌아가는 것이지만 루프는 선두로 돌아갑니다. 따라서 적절한 구성을 통해 이 명령의 사용을 완전히 피할 수 있어 효율성이 향상됩니다.
5.switch
switch 구조의 case 문은 break, return, throw가 발생하지 않는 한 기본적으로 순차적으로 실행됩니다. 일부 프로그래머는
case 1:
case 2:
break
}
이렇게 쓰면 오류가 발생하기 쉽고 찾기도 어렵습니다. 따라서 스위치 관통을 피하고 경우가 있는 곳에는 브레이크를 추가하는 것이 좋습니다.
케이스 1:
중단;
사례 2:
중단
}
6. 한 줄 블록 구조 if, while, do 및 for는 모두 블록 구조 명령문이지만 한 줄 명령도 사용할 수 있습니다. 예를 들어
if (ok) t = true;
는
if (ok)
t =
라고 쓰여도 코드를 읽는 데 도움이 되지 않습니다. 나중에 명령문을 추가할 때 실수를 저지르기가 매우 쉽습니다. 명령줄이 한 줄인지 여부에 관계없이 중괄호를 추가하는 것이 좋습니다.
if (ok){
t = true;
}
7. 그리고 -- 증가 연산자와 감소 연산자--에서 직접 C 언어에서는 표면적으로 코드를 매우 간결하게 만들 수 있지만 실제로는 코드를 더 복잡하고 모호하게 만듭니다. 따라서 코드의 깔끔함과 가독성을 위해서는 사용하지 않는 것이 좋습니다.
8. 비트 연산자 Javascript는 비트 AND&, 비트 OR|, 비트 XOR^, 왼쪽 시프트 <<를 포함한 Java의 비트 연산자를 완전히 적용합니다. , 부호 있는 오른쪽 시프트>> 및 제로 패딩된 오른쪽 시프트>>>입니다.
이 연산자 세트는 정수용이므로 Javascript에는 전혀 쓸모가 없습니다. Javascript 내부에서는 모든 숫자가 배정밀도 부동 소수점 숫자로 저장되기 때문입니다. 이를 사용하는 경우 Javascript는 먼저 피연산자를 정수로 변환한 다음 작업을 수행해야 하므로 속도가 느려집니다. 게다가 "비트 AND 연산자" &는 "논리 AND 연산자" &&와 동일하므로 혼동하기 쉽습니다.
9. 함수 명령문 Javascript에서 함수를 정의하는 방법은 두 가지가 있습니다.
Function foo() { }
var. foo = function () { }
두 가지 작성 방법은 완전히 동일합니다. 그러나 구문 분석 중에 전자 작성 방식은 구문 분석기에 의해 자동으로 코드 헤드로 승격되므로 함수를 먼저 정의한 후 사용해야 한다는 요구 사항을 위반하므로 후자를 사용하는 것이 좋습니다. 함수를 정의할 때.
10. 기본 데이터 유형의 패키징 개체
Javascript의 기본 데이터 유형에는 문자열, 숫자 및 부울 값이 포함되며 모두 해당 패키징 개체인 String, Number 및 부울. 따라서 누군가는 관련 값을 다음과 같이 정의합니다.
new String( "Hello World");
new Number(2000);
new Boolean(false)
이렇게 쓰는 것은 전혀 불필요하고 매우 혼란스럽습니다. 사용하지 않는 것이 좋습니다.
또한 새 객체와 새 배열을 사용하는 것은 권장되지 않으며 {} 및 []로 대체할 수 있습니다. 클래스는 다음과 같이 정의됩니다.
코드 복사
코드 복사
코드는 다음과 같습니다.
객체 .beget = 함수(o) {
F.prototype = o;
return new F
코드 복사
코드는 다음과 같습니다.
var Cat = {
이름:'',
말하기: '야옹'
}
var myCat = Object.beget(Cat); 🎜>
객체가 생성된 후 직접 관련 속성을 할당할 수 있습니다.
myCat.name = 'mimi' 12.void 대부분의 경우 언어에서 void는 값을 나타내지 않는 유형입니다. 그러나 Javascript에서 void는 피연산자를 받아들이고 정의되지 않은 것을 반환하는 연산자입니다.
void 0; // 정의되지 않음
이 명령은 쓸모가 없으며 사용하지 않는 것이 좋습니다.