유지 가능 한 JavaScript - 1 프로 그래 밍 스타일 을 작성 합 니 다.
11380 단어 JavaScript프로 그래 밍 스타일
제1장: 기본 포맷
1. 들 여 쓰기 단계: 각 단계 마다 tab 키 2. 문장의 끝 에 점 수 를 추가 하 는 것 을 기억 합 니 다. js 는 ASI (automatic semicolon insertion) 자동 분점 메커니즘 이 있 지만 오류 가 발생 할 수 있 습 니 다.3. 한 줄 의 길이 가 한 줄 의 최대 제한 문자 수 를 초과 할 때 수 동 으로 두 줄 로 나 눌 수 있 습 니 다.보통 우 리 는 연산 자 후에 줄 을 바 꾸 고 다음 줄 은 두 개의 등급 의 들 여 쓰기 를 증가 합 니 다.예외: 변수 에 값 을 부여 할 때 두 번 째 줄 의 위치 와 할당 연산 자의 위 치 를 정렬 합 니 다.
callAFunction(document,element,window,"some string value",true,123,
navigator);
4. 빈 줄 을 적 절 히 추가 합 니 다. 이름 (변수, 상수, 구조 함수): js 핵심 은 ECMAScript 이 고 낙타 봉 식 대소 문자 (Camel case) 의 이름 을 따 릅 니 다.변 수 는 명 사 를 사용 하고 함수 접 두 사 는 동사 여야 한다.
var myName;
// , ,
var getCount = 10;
function setName() {
}
상수: 대문자 와 밑줄 로 이름 을 짓 고 밑줄 로 다른 단 어 를 구분한다.
var MAX_COUNT = 10;
구조 함수: 낙타 봉 (Pascal Case) 을 따 르 고 이니셜 대문자
function Person(){
}
6. 직접 양 (직접 양 은 추천 하 는 방법) 문자열 은 '또는' 를 사용 할 수 있 지만 보통 '자바' 를 즐겨 사용 합 니 다. 자바 에 서 는 '중' 이지 만 '중' 은 전의 부 다 행 문자열 사용 + 문자열 을 여러 줄 로 나 누 어야 하기 때 문 입 니 다.
var name = "wanghuan says \"hello.\"";
var name = 'wanghuan says "hello."';//
var longString = "wmnsdfiwheradm,lajsrrbvmsqwm," +
"qwerfsdf.";
null undefined null 은 "대상 이 없다" 는 것 을 표시 합 니 다. 즉, 이 곳 에 값 이 있어 서 는 안 됩 니 다.undefined 는 '부족 한 값' 을 표시 합 니 다. 바로 여기에 값 이 있어 야 하지만 아직 정의 되 지 않 았 습 니 다.대상 직접 량
var book = {
title:"JavaScript",
author:"wanghuan"
};
배열 직접 량
var numbers = [1,2,3,4];
제2 장: 주석
한 줄 주석 1. 한 줄 의 주석 을 독점 합 니 다. 두 사선 뒤에 빈 칸 을 두 드 리 면 주석 앞 에 빈 줄 이 있 고 들 여 쓰기 단계 와 다음 줄 코드 가 일치 합 니 다.
if (condition) {
//
allowed();
}
2. 코드 줄 끝 에 주석 을 넣 고, 두 사선 뒤에 빈 칸 을 두 드 리 면 주석 앞 에 간격 이 있 습 니 다.
if (condition) {
allowed(); //
}
여러 줄 주석 과 코드 앞 에 빈 줄 이 있 습 니 다. 들 여 쓰기 단계 와 설명 코드 가 일치 하고 별표 뒤에 빈 칸 이 있 습 니 다.
if (condition) {
/* * * * */
allowed();
}
제3 장: 문장 과 표현 식
with with 는 국부 변수 와 함수 의 형식 으로 특정 대상 의 속성 과 방법 을 방문 할 수 있 으 며 대상 의 접 두 사 를 생략 할 수 있 으 나 추천 하지 않 습 니 다.
// title author , message book ,
var book = {
title:"wa";
author:"wanghuan";
};
var message = "The book is";
with (book) {
message += title;
message += "by" +author;
}
for 순환 은 contine 을 사용 하지 않 고 if 로 대체 하면 가 독성 을 증가 시 킬 수 있 습 니 다.
var values = [1,2,3,4],
i,
len;
for(i = 0,len = values.length;i < len;i++) {
if (i==2) {
continue;
}
process(values[i]);
}
//
var values = [1,2,3,4],
i,
len;
for(i = 0,len = values.length;i < len;i++) {
if (i!=2) {
process(values[i]);
}
}
for - in 과 for 비교http://blog.csdn.net/github_34514750/article/details/51072812
제4 장: 변수, 함수 와 연산 자
1. 변수 함수 내부 의 임 의적 인 부분 에서 변 수 를 정의 하 는 것 과 함수 상단 에서 변 수 를 정의 하 는 것 은 똑 같 습 니 다.이 유 는 다음 과 같다.
function test (items) {
for(var i = 0,len = items.length;i < len;i++) {
doSomething(item[i]);
}
}
// , ECMAScript5 , ,
function test (items) {
var i,len;
for(i = 0,len = items.length;i < len;i++) {
doSomething(item[i]);
}
}
var 문 구 를 합 쳤 고 초기 화 된 변 수 는 var 문장의 끝 에 두 지 않 았 습 니 다. 합 친 문 구 는 다운로드 가 빠 르 고 코드 가 짧 습 니 다.
var value = 10,
result = value + 10;// ,
i,
len;// var
2. 함수 성명 함수 성명 은 변수 성명 과 마찬가지 로 자 바스 크 립 트 엔진 에 의 해 앞 당 겨 질 수 있 기 때문에 코드 에서 함수 호출 은 함수 성명 전에 놓 을 수 있 습 니 다.이 때문에 자 바스 크 립 트 엔진 의 작업 을 줄 이기 위해 함수 가 함 수 를 사용 하고 있 음 을 먼저 설명 하 는 것 을 추천 합 니 다.또한 함수 성명 은 구문 블록 에 나타 나 서 는 안 됩 니 다.
// ,
if (condition) {
function doSomething() {
alert("hi");
}
} else {
function doSomething() {
alert("ha");
}
}
함수 호출 함수 호출 괄호 좌우 에 빈 칸 을 사용 하지 않 고 블록 구문 구역 과 분리 하여 즉시 함수 실행
//
// ,value ,
var value = function(){ }();
// ,
var value = (function(){ }());
엄격 한 모드 ECMAScript 5 는 엄격 한 모드 를 도입 하여 이러한 방식 으로 js 를 신중하게 해석 하여 실 수 를 줄 였 다.
// -
"use strict";
function dosomething{
// code
}
//
function dosomething{
"use strict";
// code
}
// , "use strict", ~
(function(){
"use strict";
function dosomething1{
// code
}
function dosomething2{
// code
}
})();
3. 연산 자 js 는 강제 유형 변환 메커니즘 을 가지 고 있다
= = 화! =유형 전환 을 강제 할 수 있 습 니 다. 모든 경우 에 우 리 는 강제 전환 을 피하 고 효율 을 높이 기 위해 가능 한 한 사용 합 니 다.원형 포장 유형 원형 포장 유형의 주요 역할 은 원시 값 을 대상 과 같은 행 위 를 하 게 하 는 것 이다. 예 는 다음 과 같다.
// name , , toUpperCase()
// js String , ,
var name = "wanghuan";
consolde.log(name.toUpperCase());//WANGHUAN
//
var name = "wanghuan";
name.first = "ya";
console.log(name.first);// undefined
또한 원본 포장 형식 을 사용 하 는 것 을 피해 야 합 니 다. String, Number, Boolean 을 사용 하여 대상 을 만 들 때 JShint 와 JSlint 는 경 고 를 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.