1. 변수 정의
//일반적인 작성 방법
var a = 0;
var b = 1;
var c = 'xxx';
// 권장 쓰기 방법
var a = 0,
b = 1,
c = 'xxx';
2. 리터럴을 사용해 보세요
//일반 쓰기
var obj = new Object();
obj.a = 'aa';
obj.b = 'bb';
// 추천 작성
var obj = {
a: 'aa',
b: 'bb'
};
var arr = [];
function getXX(index){
return ['aa', 'bb', 'xx', 55, 'xxb'](index);
}
function getMessage(code){
return {
404 : 'xxx',
500: 'xxx'
}[code];
}
3. 일반 리터럴
var regex = new RegExp('someting' );
var cls = 'someclass' ,
regex = new RegExp(cls + '\s*', 'ig') ; // 동적 정규식에만 해당
// 그 외의 경우 리터럴 사용
var regex = /someting /ig;
4. 기본값 설정(개인적 느낌)
// 기본값
var arg = arg || 'default'; // fallback
document.getElementById('test').onclick = function(event){
var 이벤트 = 이벤트 || window.event;
};
function getX(a){
return a+1 || 'default';
}
< ;BR>function getY(b){
Return typeof b !== "undefine" ? b : 'default';
}
5. // 조건
답변 = obj && obj.xx && obj.xx.xxx;
// 연속판단
// 뭔가를 하세요
}
if(obj.xx){
// 뭔가를 하세요
}
if(!obj){
// 뭔가를 하세요
}
// 합치 판단을 사용하세요
if(a === b){
// 뭔가를 하세요
}
// 시도하지 마세요 브라우저를 감지하려면 사용할 기능이
if(document.getElementById){
// 기능 감지
}
6. >// 삼항
check ? value1 : value2;
// 삼항 연산자가 더 간결합니다
var foo = (조건) ? value1 : value2;
if(조건){
반환 값1;
}else{
반환 값2;
}
}
함수 xx(){
반환 (조건) ? value1 : value2;
}
// 삼항 연산자 형식 지정
foo = predicate ? "one" :
predicate ? "two" :
"default"; // 형식
7. 반복 값 삽입
// 반복 삽입
var name = value[i];
i++;
//
var name = value[i++];
8. DOM 작업
// DOM 작업
el.style.display = 'none' // 오프라인
// 작업
el.style.display = 'block';
/ / 더 나은 작동을 위해 문서 조각화 사용 www.2cto.com
el.innerHTML = ''; // 모든 하위 항목을 빠르게 제거하지만 메모리 누수가 발생할 수 있음
el.innerHTML = 'xxx' // 좋습니다.
// NodeList를 주의해서 다루세요
var Images = document.getElementsByTagName('img'); // 동적 목록에 주의하세요
9. 이벤트 프록시 사용 외부 요소의 이벤트를 수신하는 프록시
document.getElementById('list').onclick = function(evt ){
var evt = evt || window.event,
target = evt.target || evt.srcElement;
if(target.id === 'btn1'){
// 뭔가를 하세요
}
10.
// 네임스페이스로서의 객체
var MYAPP = {};
MYAPP.dom.get = function(id){};
MYAPP.style.css = function(el, style) {};
MYAPP.namespace('event');
11. 연결 작업
// 연결 작업: return this
function setValue(el, value ){
el.value = value;
return this;
}
var obj = new MYAPP.dom.Element('span');
obj.setText( ' hello')
.setStyle('color', 'red')
.setStyle('font', 'Verdana');
12. 비공개 범위
// Function
(function(){
var _private = 'cant see me';
})();
(function($){
$ (' #xxb').click(function(){ });
})(jQuery);
13. 객체 구성
// 객체 구성
function foo(id , conf, null , null){
// 뭔가를 합니다
}
foo('bar', {
key1 : 1,
key2 : 2
}) ;
14. 유형 변환
// 유형 변환
+'010' === 10;
숫자('010') === 10;
parseInt('010', 10) === 10;
10 + '' === '10';
+new Date() // 타임스탬프
+new Date
15. 확장된 프로토타입
// 상위 호환성이 필요한 경우에만 사용하세요. 그 외의 경우에는 프로토타입 객체를 확장하지 않는 것이 좋습니다.
Array.prototype.forEach = function(){
// 상위 호환에만 해당
};
16. 루프 최적화
// 캐시
for(var i=0, j = document.getElementsByTagName(' a' ).length; i--){
// 아마도 더 빠를 것입니다
}
// 가장 빠르다고 합니다
(i--){
// 어쩌면 가장 빠를 수도 있습니다
}
17. 새로운 특수 new
Array.forEach();
getElementsByClassName();
querySlectorAll();
// 먼저 새로운 기능이 지원되는지 확인하세요. 사용 가능한 경우
if(document.getElementsByClassName){
// 사용
}else{
/ / 구현
}
18. 지연 로딩
// 한 번만 판단하고, 함수를 다시 호출할 때는 판단할 필요가 없습니다.
functionlazyDef(){
if (조건1){
lazyDef = function( ){ };
}else if(condition2){
lazyDef = function(){ };
}
returnlazyDef(); 공개 메소드
var MYAPP = {};
var _setStyle = function(el, prop, value){
console ) . log('setStyle');
};
return {
setStyle: _setStyle
};
})();
// 언제 MYAPP 언제 .dom.setStyle이 실수로 덮어씌워졌습니다. _setStyle은 내부적으로 계속 사용할 수 있습니다
20. 디버깅
// 최대한 많이 사용해 보세요. 여러 매개변수를 전달하고 최종적으로 연결된 문자열
console.log('xx','xx','...');
console.dirxml(someDom);
console .time('timer');
console.warn('xxx');
// 캡슐화를 사용하면 실수로 릴리스되어도 문제가 발생하지 않지만 보고할 때 줄 번호에 문제가 있을 수 있습니다. 오류
function msg( msg){
if(console && console.log){
console.log(msg) // 잘못된 줄 번호
}
}

웹 개발에서 JavaScript의 주요 용도에는 클라이언트 상호 작용, 양식 검증 및 비동기 통신이 포함됩니다. 1) DOM 운영을 통한 동적 컨텐츠 업데이트 및 사용자 상호 작용; 2) 사용자가 사용자 경험을 향상시키기 위해 데이터를 제출하기 전에 클라이언트 확인이 수행됩니다. 3) 서버와의 진실한 통신은 Ajax 기술을 통해 달성됩니다.

보다 효율적인 코드를 작성하고 성능 병목 현상 및 최적화 전략을 이해하는 데 도움이되기 때문에 JavaScript 엔진이 내부적으로 작동하는 방식을 이해하는 것은 개발자에게 중요합니다. 1) 엔진의 워크 플로에는 구문 분석, 컴파일 및 실행; 2) 실행 프로세스 중에 엔진은 인라인 캐시 및 숨겨진 클래스와 같은 동적 최적화를 수행합니다. 3) 모범 사례에는 글로벌 변수를 피하고 루프 최적화, Const 및 Lets 사용 및 과도한 폐쇄 사용을 피하는 것이 포함됩니다.

Python은 부드러운 학습 곡선과 간결한 구문으로 초보자에게 더 적합합니다. JavaScript는 가파른 학습 곡선과 유연한 구문으로 프론트 엔드 개발에 적합합니다. 1. Python Syntax는 직관적이며 데이터 과학 및 백엔드 개발에 적합합니다. 2. JavaScript는 유연하며 프론트 엔드 및 서버 측 프로그래밍에서 널리 사용됩니다.

Python과 JavaScript는 커뮤니티, 라이브러리 및 리소스 측면에서 고유 한 장점과 단점이 있습니다. 1) Python 커뮤니티는 친절하고 초보자에게 적합하지만 프론트 엔드 개발 리소스는 JavaScript만큼 풍부하지 않습니다. 2) Python은 데이터 과학 및 기계 학습 라이브러리에서 강력하며 JavaScript는 프론트 엔드 개발 라이브러리 및 프레임 워크에서 더 좋습니다. 3) 둘 다 풍부한 학습 리소스를 가지고 있지만 Python은 공식 문서로 시작하는 데 적합하지만 JavaScript는 MDNWebDocs에서 더 좋습니다. 선택은 프로젝트 요구와 개인적인 이익을 기반으로해야합니다.

C/C에서 JavaScript로 전환하려면 동적 타이핑, 쓰레기 수집 및 비동기 프로그래밍으로 적응해야합니다. 1) C/C는 수동 메모리 관리가 필요한 정적으로 입력 한 언어이며 JavaScript는 동적으로 입력하고 쓰레기 수집이 자동으로 처리됩니다. 2) C/C를 기계 코드로 컴파일 해야하는 반면 JavaScript는 해석 된 언어입니다. 3) JavaScript는 폐쇄, 프로토 타입 체인 및 약속과 같은 개념을 소개하여 유연성과 비동기 프로그래밍 기능을 향상시킵니다.

각각의 엔진의 구현 원리 및 최적화 전략이 다르기 때문에 JavaScript 엔진은 JavaScript 코드를 구문 분석하고 실행할 때 다른 영향을 미칩니다. 1. 어휘 분석 : 소스 코드를 어휘 단위로 변환합니다. 2. 문법 분석 : 추상 구문 트리를 생성합니다. 3. 최적화 및 컴파일 : JIT 컴파일러를 통해 기계 코드를 생성합니다. 4. 실행 : 기계 코드를 실행하십시오. V8 엔진은 즉각적인 컴파일 및 숨겨진 클래스를 통해 최적화하여 Spidermonkey는 유형 추론 시스템을 사용하여 동일한 코드에서 성능이 다른 성능을 제공합니다.

실제 세계에서 JavaScript의 응용 프로그램에는 서버 측 프로그래밍, 모바일 애플리케이션 개발 및 사물 인터넷 제어가 포함됩니다. 1. 서버 측 프로그래밍은 Node.js를 통해 실현되며 동시 요청 처리에 적합합니다. 2. 모바일 애플리케이션 개발은 재교육을 통해 수행되며 크로스 플랫폼 배포를 지원합니다. 3. Johnny-Five 라이브러리를 통한 IoT 장치 제어에 사용되며 하드웨어 상호 작용에 적합합니다.

일상적인 기술 도구를 사용하여 기능적 다중 테넌트 SaaS 응용 프로그램 (Edtech 앱)을 구축했으며 동일한 작업을 수행 할 수 있습니다. 먼저, 다중 테넌트 SaaS 응용 프로그램은 무엇입니까? 멀티 테넌트 SAAS 응용 프로그램은 노래에서 여러 고객에게 서비스를 제공 할 수 있습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구
